微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单击地图后不显示坐标值

如何解决单击地图后不显示坐标值

我正在尝试使用 Open Layers 创建一个弹出窗口,当我单击地图时,它将显示坐标值。但是,控制台窗口中没有错误,每当我单击“地图”时,它都会显示:“您单击了此处 [对象对象]”,而不是我单击的位置的实际坐标。附上我正在使用的代码

PS:我对 JS 很陌生,所以很可能我可能会遗漏一些非常明显的东西,所以如果有人能指出我正确的方向,这将是很大的帮助。

var view = new ol.View({
    center : [84.2294050294863,21.330813185563247],zoom :5,projection : 'epsg:4326'
}) 

const container = document.getElementById('popup');
const content = document.getElementById('popup-content');
const closer = document.getElementById('popup-closer');

closer.onclick = function () {
  overlay.setPosition(undefined);
  closer.blur();
  return false;
};


var basemap = new ol.layer.Tile({
    source: new ol.source.OSM()
})

var layerArray = [basemap]

const overlay = new ol.Overlay({
  element: container,autopan: true,autopanAnimation: {
    duration: 250,},});

var map = new ol.Map({
    target : 'map',layers : layerArray,view : view,overlays : [overlay]
});
 
map.on('singleclick',function (event) {
    
  const coordinate = event.coordinate;
  const hdms = new ol.coordinate.toStringHDMS(ol.proj.toLonLat(coordinate));

  content.innerHTML = '<p>You clicked here:</p><code>' + hdms + '</code>';
  overlay.setPosition(coordinate);
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。