[英]Google Map - Add a marker between 2 markers
对于我的 web 应用程序,我需要允许在 2 个标记之间添加一个标记。
我有一组标记,当我创建一个标记时我会推动我的标记。
我的问题,我没有到达让我的阵列工作。 我在 map 和右 position 上添加标记,在前一个和下一个之间,但是,我怎样才能在正确的索引中推入我的数组? 我在标记 1 和 2 之间添加,所以,新标记必须有索引 2,然后,旧索引 2 必须有索引 3....
` function AddMarkerAfter(i) {
var lat = (markers[i].getPosition().lat() + markers[(i+1)].getPosition().lat()) / 2;
var lng = (markers[i].getPosition().lng() + markers[(i+1)].getPosition().lng()) / 2;
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
map: map,
title: 'Number ' + (i+1),
draggable: true
});
var l = markers.length;
for (var j=i; j<l; j++)
{
markers[j+1] = markers[j];
}
markers[i] = marker;
}`
但是,结果是灾难性的……有办法在数组中“推”吗?
谢谢 !
哦,我的上帝:我用这条简单的线解决了我的问题:
markers.splice(i, 0, marker);
对不起 !
我认为您正在寻找 array.splice() function (示例)。
使用 arrays 切片和连接函数来拆分数组并重新加入中间的新元素。
使用整数的版本:
var arr = [1,2,4,5,6];
var startarr = arr.slice(0,2);
alert(startarr);
var endarr = arr.slice(2);
alert(endarr);
arr = startarr.concat([3], endarr);
alert(arr);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.