【问题标题】:How can I change marker position eventually in google maps api?如何最终在谷歌地图 api 中更改标记位置?
【发布时间】:2017-01-10 09:06:55
【问题描述】:

我在使用 google maps api 时遇到问题,当我不断更改标记位置时,这会在地图上留下痕迹,我需要移动标记而不留下痕迹。 我实际上是从 firebase 的数据库中获取纬度和经度,并需要代表汽车的路线。

var mapOptions = {

 center: new google.maps.LatLng(20.615977, -103.339358), 
 zoom: 12

};

var map = new google.maps.Map(document.getElementById("map"), mapOptions);    

firebase.database().ref('route').on('value', function(data) {

var start = new google.maps.Marker({
    position: {lat: latitud, lng: longitud}, 
    map: map,
    icon: '../icon/car.png'
});

var myLatlng = new google.maps.LatLng(data.val().latitude, data.val().longitude);

start.setPosition(myLatlng);
start.setMap(map);   

});

【问题讨论】:

  • 所以您需要移动现有标记,而不是创建一个新标记?
  • google 地图标记有一个setPosition 方法

标签: javascript google-maps-api-3


【解决方案1】:

您正在为每个事件创建一个新标记。相反,在事件处理程序之前创建标记(并在那里调用 setMap),并在您的处理程序中,对数据的新 lat/lng 执行 setPosition()。

【讨论】:

    猜你喜欢
    • 2018-09-17
    • 2019-10-24
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多