我有一张地图,显示基于数据库的标记,这些标记保存在数组中。现在,我想向他们添加动画。快速研究给了我information about single markers,但没有提示我如何对多个标记物执行这些动作。

作为Java的新手,我不太确定如何执行此操作。

我有一个基于php的foreach循环,在其中添加了标记。 (据我了解,数据库请求仅适用于php)。

我尝试插入

google.maps.event.addListener(flightMarkers[flightMarkers.length], 'click', flightMarkers[flightMarkers.length].setAnimation(google.maps.Animation.BOUNCE););

但随后该地图甚至不再显示。

任何想法和提示将不胜感激!提前致谢。

最佳答案

flightMarkers.length包含flightMarkers中的项目数。

所以当你有

flightMarkers = new Array();
flightMarkers[ 0 ] = "value";
flightMarkers[ 1 ] = "value";
flightMarkers[ 2 ] = "value";


flightMarkers.length将包含数字3,但是该数组中的最后一个索引是2。在此示例中,当您键入flightMarkers[flightMarkers.length]时,它将是flightMarkers[3],这是未定义的。

如果要仅将侦听器添加到最后一个标记,请使用flightMarkers[flightMarkers.length - 1]
如果要将侦听器添加到每个标记,请使用for循环:

for( var i = 0; i < flightMarkers.length; i++ ) {
    google.maps.event.addListener(flightMarkers[i], 'click',
    flightMarkers[i].setAnimation(google.maps.Animation.BOUNCE););
}

10-07 14:54