我有一张地图,显示基于数据库的标记,这些标记保存在数组中。现在,我想向他们添加动画。快速研究给了我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););
}