当用户遍历地图时,如何基于当前地图画布绘制标记

问题描述 投票:1回答:1

我已经使用谷歌地图API成功绘制了标记。

var latlng = {lat: 34.7651458,lng: 121.453208};

map = new google.maps.Map(document.getElementById('map'), {
  center: latlng,
  zoom: 18
});

var marker = new google.maps.Marker({
  position: latlng,
  map: map,
  title: 'Marker!'
});
marker.setMap(map);

但是,如果用户遍历地图,那么centre:latlng会发生变化。如果我想绘制一个新标记,对于这个新的centre,如何在centre中捕获该变化以从API获取数据以便绘制新标记。谢谢你的任何建议。

javascript google-maps
1个回答
1
投票

您可以将dragend事件监听器添加到map(或者您也可以使用center_changed)。使用map.getCenter()获取地图的中心并创建标记。

map.addListener('dragend', function() {
    var c = map.getCenter();                   //Get new center of the map

    var marker = new google.maps.Marker({      //Create a new marker and use the map's center as the location.
        position: c,
        map: map,
        title: 'Marker!'
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.