首页 > 解决方案 > 获取新坐标后在 mapbox 上标记新位置

问题描述

我正在使用 Mapbox,用户可以在其中选择任何位置。我正在获取新位置,但无法在新位置上添加标记。下面是我的代码。

var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/mapbox/streets-v11',
    center: [data.Latitude, data.Longitude],
    zoom: 12
});

map.on('click', function (e) {

    var latitude = e.lngLat.lat;
    var longitude = e.lngLat.lng;

    console.log(latitude + " - " + longitude)
    var marker = new mapboxgl.Marker()
        .setLngLat([latitude, longitude])
        .addTo(map);
});

标签: javascriptmapbox

解决方案


您似乎以与函数预期相反的顺序传递坐标:

var marker = new mapboxgl.Marker()
        .setLngLat([latitude, longitude])
        .addTo(map);

你可以试试这个:

var marker = new mapboxgl.Marker()
        .setLngLat([longitude, latitude])
        .addTo(map);

请让我知道这是否有帮助!


推荐阅读