【问题标题】:set animation google maps marker设置动画谷歌地图标记
【发布时间】:2014-09-18 18:17:40
【问题描述】:

我试图将 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;

【问题讨论】:

  • 您的代码应该可以工作。看看这个 jsfiddle jsfiddle.net/kjy112/rD8U6
  • 即使将整个过程写在控制台中执行之后,也会返回同样的错误
  • @Gustavo 你能发布你的整个代码吗?
  • 这就是整个代码! :S 我只是根据一些 sql 行结果调用它
  • 你看到地图上的标记了吧?

标签: javascript google-maps


【解决方案1】:

尝试:

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

【讨论】:

  • brother 这个方法不适用于标记显示错误.....??你能详细说明你的答案吗..Plz
【解决方案2】:

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

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

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

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

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

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

另外,请在您的 if 声明中以这种方式检查是否相等

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

【讨论】:

    【解决方案3】:

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

    marker.setAnimation("BOUNCE");

    marker.setAnimation("DROP");

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

    【讨论】:

    • 你必须通过谷歌提供的枚举。不仅仅是文字。
    猜你喜欢
    • 2012-12-07
    • 2014-02-20
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 2023-03-13
    • 2015-05-12
    相关资源
    最近更新 更多