日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

openlayers 可以实现3d地图效果吗_OpenLayers教程:图形绘制之设置图形的样式

發布時間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openlayers 可以实现3d地图效果吗_OpenLayers教程:图形绘制之设置图形的样式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenLayers可以對整個矢量圖層統一設置樣式,也可以單獨對某個要素設置樣式,本文介紹對整個矢量圖層設置樣式。

OpenLayers的ol.style.Style類用于設置樣式,它需要結合另外三個類ol.style.Image、ol.style.Stroke、ol.style.fill分別設置點或圓的樣式、邊界線的樣式、填充樣式,另外ol.style.Text類用于設置要素注記。

來看一個示例:

樣式效果:

graphicStyle.html:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>設置幾何圖形樣式</title><link rel="stylesheet" href="../v5.3.0/css/ol.css" /><script src="../v5.3.0/build/ol.js"></script> </head> <body><div id="map"></div><label>Shape type &nbsp;</label><select id="type"><option value="Point">Point</option><option value="LineString">LineString</option><option value="Polygon">Polygon</option><option value="Circle">Circle</option><option value="Square">Square</option><option value="Box">Box</option><option value="None">None</option></select><script>let vectorSource = new ol.source.Vector();let vectorLayer = new ol.layer.Vector({source: vectorSource,// 設置圖層樣式style: new ol.style.Style({// 將點設置成圓形樣式image: new ol.style.Circle({// 點的顏色fill: new ol.style.Fill({color: '#F00'}),// 圓形半徑radius: 5}),// 線樣式stroke: new ol.style.Stroke({color: '#0F0',lineCap: 'round', // 設置線的兩端為圓頭width: 5 }),// 填充樣式fill: new ol.style.Fill({color: '#00F'})})});let map = new ol.Map({target: 'map', layers: [new ol.layer.Tile({ // 瓦片圖層source: new ol.source.OSM() // OpenStreetMap數據源}),vectorLayer],view: new ol.View({ // 地圖視圖projection: 'EPSG:3857',center: [0, 0],zoom: 0})});let typeSelect = document.getElementById('type');let draw;function addInteraction(){let type = typeSelect.value;if(type !== 'None'){let geometryFunction;switch(type){ case "Square": type = 'Circle';// 生成規則的四邊形的圖形函數geometryFunction = ol.interaction.Draw.createRegularPolygon(4);break;case 'Box':type = 'Circle';// 生成盒形狀的圖形函數geometryFunction = ol.interaction.Draw.createBox();break;default:break;}// 初始化Draw繪圖控件console.log(type);draw = new ol.interaction.Draw({source: vectorSource,type: type,geometryFunction: geometryFunction});// 將Draw繪圖控件加入Map對象map.addInteraction(draw);}}typeSelect.addEventListener('change', () => {// 移除Draw繪圖控件map.removeInteraction(draw);addInteraction();});addInteraction();</script> </body> </html>

總結

以上是生活随笔為你收集整理的openlayers 可以实现3d地图效果吗_OpenLayers教程:图形绘制之设置图形的样式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。