openlayers三:添加图片和图标
openlayers添加图片是指:
添加在地图上的图片会跟随地图同步放大缩小
而添加图标是指:
添加在地图上的图片不会跟随地图同步放大缩小
添加图片:
首先初始化图片图层:
1 initImageLayer: function (extent) { 2 this.imageLayer = new ol.layer.Image({ 3 // source: this.imageSource 4 }) 5 this.map.addLayer(this.imageLayer); 6 },
然后添加图片:
1 addImage: function (extent, url) { 2 var imageExtent = extent;//左下角右上角[113, 30.2, 115, 32.2] 3 this.imageSource = new ol.source.ImageStatic({ 4 url: url, 5 projection: 'EPSG:3857', 6 imageExtent: ol.proj.transformExtent(imageExtent, 'EPSG:4326', 'EPSG:3857') 7 }) 8 this.imageLayer.setSource(this.imageSource); 9 }
添加图标:
通过point feature来添加图标
1 addIcon: function (lonlat, tip) { 2 var point = new ol.geom.Point(ol.proj.transform(lonlat, 'EPSG:4326', 'EPSG:3857')); 3 var pointFeature = new ol.Feature(point); 4 pointFeature.setStyle( 5 new ol.style.Style({ 6 image: new ol.style.Icon({ 7 anchor: [0.5, 0.5], 8 crossOrigin: 'anonymous', 9 src: 'https://openlayers.org/en/v4.6.5/examples/data/icon.png' 10 }), 11 text: new ol.style.Text({ 12 text: tip, 13 scale: 1.3, 14 fill: new ol.style.Fill({ 15 color: '#000000' 16 }), 17 stroke: new ol.style.Stroke({ 18 color: '#FFFF99', 19 width: 3.5 20 }) 21 }) 22 }) 23 ); 24 this.vectorSource.addFeature(pointFeature); 25 },
最后效果如图:
整体代码:
链接: https://pan.baidu.com/s/1_kWPLJuTCOzVEx3Ci1eITA 密码: udxf
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升