如何在给定位置数组的情况下移动标记?
Posted
技术标签:
【中文标题】如何在给定位置数组的情况下移动标记?【英文标题】:How can I move a marker given an array of positions? 【发布时间】:2017-04-11 00:44:24 【问题描述】:我正在尝试将标记移动到存储在数组中的位置。
let vehicule_assigne_geo = lat: 45.495252, lng: -73.605798 ;
var image = "img/Sedan-52.png";
let marker = new google.maps.Marker(
position: vehicule_assigne_geo,
map: self.map,
draggable: false,
icon: image,
title: 'Your taxi'
);
//self.tabmarkers is my array of positions
//positions have this format: var LatLng = lat:steps[c].lat_lngs[i].lat() , lng: steps[c].lat_lngs[i].lng() ;
for(var i=0;i<self.tabmarkers.length;i++)
marker.setPosition(self.tabmarkers[i])
我可以在数组的最后一个位置看到标记。我试着像这样设置超时
setTimeout(3000)
在设置位置之后。但这不会改变结果。 我做错了什么?
【问题讨论】:
【参考方案1】:您可能需要类似 Google 地图的 Marker animations with setTimeout()
示例:
诀窍是乘以超时值。或者您可以使用 setInterval() 方法。 由于您没有提供完整的代码,因此您需要这样的东西:
for(var i=0; i < self.tabmarkers.length; i++)
moveMarkerWithTimeout(self.tabmarkers[i], i * 1000);
;
function moveMarkerWithTimeout(position, timeout)
window.setTimeout(function()
marker.setPosition(position);
, timeout);
尚未测试,但应该可以。
【讨论】:
以上是关于如何在给定位置数组的情况下移动标记?的主要内容,如果未能解决你的问题,请参考以下文章
Scintilla:如何在给定特定字符位置的情况下找到字节位置