代码之家  ›  专栏  ›  技术社区  ›  eozzy

即使在地图移动过程中也保持标记居中

  •  0
  • eozzy  · 技术社区  · 7 年前

    虽然大部分都能用,但我就是不知道如何保持标记的连续性 在期间 地图将被拖动/平移。

    以下是我目前掌握的情况: https://jsfiddle.net/iaezzy/yLf4wgzd/1/

    var map = new mapboxgl.Map({
        container: 'map',
        style: 'mapbox://styles/mapbox/streets-v9',
        center: [0, 0],
        zoom: 2
    });
    var marker = new mapboxgl.Marker()
        .setLngLat([0, 0])
        .addTo(map);
    
    map.on('movestart', function (e) {
        console.log(`Current Map Center: ${map.getCenter()}`);
        marker.setLngLat(map.getCenter());
    });
    map.on('moveend', function (e) {
        console.log(`Current Map Center: ${map.getCenter()}`);
        marker.setLngLat(map.getCenter());
    });
    

    我能想到的一种方法是投票 map.isMoving

    1 回复  |  直到 7 年前
        1
  •  4
  •   Samuel Vaillant    7 年前

    你可以使用 move 在地图移动时更新标记位置的地图事件。这是 your example

    推荐文章