设置动画谷歌地图标记

时间:2011-03-18 19:30:16

标签: javascript google-maps

我正在尝试将BOUNCE动画设置为特定标记,但每当我调用marker.setAnimation(google.maps.Animation.BOUNCE)方法控制台时都说“无法读取未定义的属性'BOUNCE'”这意味着标记未定义正确吗?但如果我使用marker.setTitle('Bouncing'),标题确实会改变。我做错了什么,这是代码

   <script type="text/javascript">
        function addMarker(lat,lng,img,title,bounce)
        {
         var myLatLng = new google.maps.LatLng(lat, lng);

        var marker = new google.maps.Marker({
                position: myLatLng,
                map: map,
                icon: img,
            title: title,
            zIndex: 1
            });

            if(bounce=='set'){marker.setAnimation(google.maps.Animation.BOUNCE);
            marker.setTitle('Bouncing');};

        }
    </script>

php脚本

    for($i=0;$i<count($losDatos);$i++)
    {

    $utc=new DateTime($losDatos[$i]['fechaUtc']);
    $utc->modify('-'.horarioVerano().' hours');
    echo $utc->format("Y-m-d H:i:s");
    if($losDatos[$i]['camion']==$camion)
    {
    $script.="addMarker(".$losDatos[$i]['latitud'].",".$losDatos[$i]['longitud'].",".$losDatos[$i]['img'].",".$losDatos[$i]['nombre'].",'set');";
    }else
    {
       $script.="addMarker(".$losDatos[$i]['latitud'].",".$losDatos[$i]['longitud'].",".$losDatos[$i]['img'].",".$losDatos[$i]['nombre'].");";
    }

    }

echo $script;

3 个答案:

答案 0 :(得分:11)

尝试:

marker.setAnimation(google.maps.Animation.BOUNCE)

答案 1 :(得分:0)

您在代码中指定它的方式是正确的。

{
  marker.setAnimation(google.maps.Animation.BOUNCE);
}

您应该检查的是标记是否真正引用了地图上的标记对象。

OR

您可以尝试通过标记选项设置动画。

var markerOptions = {animation:google.maps.Animation.BOUNCE}

或尝试设置不带if(condition)的动画以查看它是否会反弹。

另请在if声明中以这种方式检查是否相同

if(bounce==="set"){ /*animate marker*/}

答案 2 :(得分:-5)

setAnimation param应该是“BOUNCE”或“DROP”的字符串。

marker.setAnimation( “反弹”);

marker.setAnimation( “下降”);

其中marker是谷歌地图标记对象: