繁体   English   中英

单击 Mapbox GL JS 显示经纬度坐标

[英]Display Lat Lng Coordinates on click on Mapbox GL JS

我正在尝试让我的地图框显示像这样的 Google Map 示例坐标,单击时会弹出经纬度坐标。 我得到的最接近的是一个可拖动的标记,它显示 map 左下角的坐标,如果我尝试 onclick function,map 就会变成空白。 我怎样才能让坐标在点击时显示为弹出窗口?

var marker = new mapboxgl.Marker({
        draggable: true
    })
    .setLngLat([101.967, 35.431])
    .addTo(map);

function onDragEnd() {
    var lngLat = marker.getLngLat();

    coordinates.style.display = 'block';
    coordinates.innerHTML =
        'Longitude: ' + lngLat.lng + '<br />Latitude: ' + lngLat.lat;
}

marker.on('dragend', onDragEnd);

我有 css styles for.coordinates,当标记被拖动时,它们会显示在屏幕的左下方。 我知道这是一个简单的问题,但我对 mapbox 和一般编码完全陌生。 将不胜感激任何帮助! 谢谢!

我认为您正在寻找的是 Mapbox Popup

我已经起草了一个关于如何创建一个弹出窗口的快速小提琴,这里有相关的 js 代码:

mapboxgl.accessToken = 'PUT HERE YOUR TOKEN';
var map = new mapboxgl.Map({
  container: 'map',
  style: 'mapbox://styles/mapbox/streets-v11',
  center: [-122.486052, 37.830348],
  zoom: 14
});
map.on('style.load', function() {
  map.on('click', function(e) {
    var coordinates = e.lngLat;
    new mapboxgl.Popup()
      .setLngLat(coordinates)
      .setHTML('you clicked here: <br/>' + coordinates)
      .addTo(map);
  });
});

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM