【发布时间】:2020-05-11 01:32:37
【问题描述】:
如何使用坐标数组在地图上移动标记
我还需要将标记的当前位置(或索引)存储在变量中
数组示例:
let data = [
["2019-06-28T07:33:03", 37.610225, 55.651365],
["2019-06-28T07:33:40", 37.6107283333333, 55.6511716666667],
["2019-06-28T07:33:46", 37.610745,55.6510383333333],
["2019-06-28T07:33:47",37.610785,55.6510233333333],
["2019-06-28T07:33:48",37.61083,55.65103]
];
我初始化地图并使用基于数组的折线绘制路径:
function initMap() {
//start position
const startPosition ={lat:data[0][2],lng:data[0][1]}
let map = new google.maps.Map(document.getElementById("map"), {
zoom: 12,
center: myLocation,
});
const pathCoordinate = [];
data.forEach(path => {
pathCoordinate.push({
lat: path[2],
lng: path[1]
});
});
// draw the path
const principePath = new google.maps.Polyline({
path: pathCoordinate,
geodesic: true,
strokeColor: "#2A7884",
strokeOpacity: 1.0,
strokeWeight: 3,
icons: [
{
icon: currentPosition,
offset: "100%"
}
]
});
principePath.setMap(map);
}
【问题讨论】:
-
在你的脚本中添加一个额外的变量来记录你当前的索引并在你遍历你的折线时不断更新它。现在当你点击暂停时,你就知道你的索引,你可以从那里开始
-
但是如何实现呢?我必须动画的功能只是使用偏移量移动符号
-
请提供一个minimal reproducible example 来证明该问题。您应该能够保存/恢复
count值。 -
我提供了最重要的部分
-
如果您阅读minimal reproducible example 页面,您将了解到您需要提供一个最小的、完整的和可重现的示例,包括一个清晰的问题描述。问题是什么?什么不起作用?你得到什么错误?等等