我有一个脚本可以逐个添加标记到地图
var marker = new google.maps.Marker({
position: new google.maps.LatLng(51,-117)
});
marker.setIcon(getIconFile(initialIconId));
markers.push(new Array(id,marker)); // id, marker
marker.setMap(map);
稍后在脚本中,当我按下自定义按钮时,我希望能够更改标记图标。所以我从MARK数组中通过id抓取标记并调用:
markers[markerIndex].setIcon(getIconFile(newIconId)); // which returns a string url of the icon
但是我收到: TypeError:markers [markerId] .setIcon不是函数
我打印markerId并且它是有效的,我还打印索引标记标记[markerId]的结果,并返回一个标记对象。我没有其他方法来调试这个我迷路了!
由于
答案 0 :(得分:2)
您似乎正在将数组推入标记,而不仅仅是一个元素。
为什么不:
markers = []
markers.push(marker)
markers[markerIndex].setIcon(getIconFile(newIconId));
或者如果你坚持插入数组:
markers.push(new Array(id,marker));
markers[markerIndex][1].setIcon(getIconFile(newIconId));