我有一个Google地图,允许用户点击地图上的任意位置并放置标记。我还有两个按钮清除并删除。清除按钮中的代码如下所示,并删除所有标记:
for (var i = 0; i < markersArray.length; i++) {
markersArray[i].setMap(null);
}
然而,删除需要删除最后放置的标记。我的问题是这怎么可能。我将值markersArray.length存储在页面的下方,并在需要时通过以下内容检索它:
var removemarker = document.getElementsByName('markernum')[0].value;
我已尝试通过下面的代码将此值提供给循环,但这不起作用:
markersArray[removemarker].setMap(null);
任何帮助表示感谢。
答案 0 :(得分:0)
假设您按顺序存储标记(添加最后一个标记,在数组中排在最后),我认为您不需要存储该值然后检索它。如果要删除标记数组的最后一个标记,可以直接执行:
markersArray[markersArray.length-1].setMap(null);
如果删除的元素不可用,可以将其从数组中删除。
markersArray.pop();