openlayers3如何做到在地图中选择点位,并拿到其经纬度

地图底版用的是天地图,现在需要使用openlayers3做到在地图当中点击选择点位,并拿到其坐标。

您可以通过以下步骤在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方法将坐标转换为经纬度,并将其打印到控制台中。

用什么语言表达出来