Google V3 - 引用标记

时间:2013-01-04 15:39:09

标签: javascript google-maps

我有一个脚本可以逐个添加标记到地图

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]的结果,并返回一个标记对象。我没有其他方法来调试这个我迷路了!

由于

1 个答案:

答案 0 :(得分:2)

您似乎正在将数组推入标记,而不仅仅是一个元素。

为什么不:

markers = []
markers.push(marker)
markers[markerIndex].setIcon(getIconFile(newIconId));

或者如果你坚持插入数组:

markers.push(new Array(id,marker));
markers[markerIndex][1].setIcon(getIconFile(newIconId));