地图底版用的是天地图,现在需要使用openlayers3做到在地图当中点击选择点位,并拿到其坐标。
3条回答 默认 最新
- 黄以礼 2023-06-16 13:57关注
您可以通过以下步骤在OpenLayers 3中实现选择点位并获取其经纬度:
首先,创建一个OpenLayers地图对象,并添加一个点图层。
javascript
var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }), new ol.layer.Vector({ source: new ol.source.Vector({ url: 'points.geojson', format: new ol.format.GeoJSON() }) }) ], view: new ol.View({ center: ol.proj.fromLonLat([0, 0]), zoom: 2 }) });
接下来,为地图对象添加点击事件监听器,以便在点击地图时获取所选点的经纬度。
javascript
map.on('click', function(evt) { var feature = map.forEachFeatureAtPixel(evt.pixel, function(feature, layer) { return feature; }); if (feature) { var geometry = feature.getGeometry(); var coord = geometry.getCoordinates(); var lat = ol.proj.toLonLat(coord[1], coord[0]).lat; var lon = ol.proj.toLonLat(coord[1], coord[0]).lon; console.log('Latitude: ' + lat + ', Longitude: ' + lon); } });
在这个示例中,当用户在地图上点击时,forEachFeatureAtPixel方法会在当前点击位置查找可见的点图层中的特征。如果找到了特征,就使用getGeometry方法获取其几何对象,然后使用getCoordinates方法获取其坐标。最后,使用ol.proj.toLonLat方法将坐标转换为经纬度,并将其打印到控制台中。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Hadoop的部署与安装的一些疑问
- ¥15 短剧的sdk在哪里接入
- ¥30 智能割草机自动化割草
- ¥15 求:可不可以提供一些 在国内可以用,低代码不要太难 在电脑上可以下载的 制作app的软件
- ¥60 找人回答kibana8.14.3二次集成开发,自定义插件ui导航栏如何设置
- ¥15 fluke高精度万用表8845A型号测交流电压一直跳动,且去掉输入后显示不归零
- ¥15 不同模型怎么用同一个shader
- ¥15 安卓启动没有ais proxy与v4l2的log打印
- ¥15 go怎么读取mdb文件里面的数据
- ¥60 Matlab联合CRUISE仿真编译dll文件报错