获取新坐标后在地图框上标记新位置

时间:2020-05-19 10:39:25

标签: javascript 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);
});

1 个答案:

答案 0 :(得分:0)

看来您传递的坐标的顺序与函数预期的顺序相反:

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

您能尝试一下吗?

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

请告诉我是否有帮助!