2016-08-25 84 views

回答

0

可能会导致错误。 (使用不使用GoogleMap apikey)

var on = true; 
 
var intervalSeconds = 0.5; 
 
var myLatLng = {lat: -25.363, lng: 131.044}; 
 

 
var map = new google.maps.Map(document.getElementById('map'), { 
 
    zoom: 4, 
 
    center: myLatLng 
 
}); 
 

 
var marker = new google.maps.Marker({ 
 
    position: myLatLng, 
 
    map: map, 
 
    title: 'Hello World!' 
 
}); 
 

 
setInterval(function() { 
 
    if(on) { 
 
    marker.setMap(null); 
 
    } else { 
 
    marker.setMap(map); 
 
    } 
 
    on = !on; 
 
}, intervalSeconds * 1000);
#map { 
 
    width: 800px; 
 
    height: 600px; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
 
<div id="map"></div>

+0

感谢您的分享。这有助于我提供眨眼效果。 – user6493966

1

google.maps.Marker的类支持setAnimation(animation:Animation)方法,其中根据docs

启动的动画。任何正在进行的动画将被取消。目前支持的动画有 :BOUNCE,DROP。传入null将导致任何 动画停止。

所以,你可以叫

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

开始反弹动画和

marker.setAnimation(null); 

停止它。工作示例:

function initMap() { 
 
     var myLatLng = {lat: -25.363, lng: 131.044}; 
 

 
     var map = new google.maps.Map(document.getElementById('map'), { 
 
      zoom: 4, 
 
      center: myLatLng 
 
     }); 
 

 
     var marker = new google.maps.Marker({ 
 
      position: myLatLng, 
 
      map: map, 
 
      title: 'Hello World!' 
 
     }); 
 
    
 
     marker.setAnimation(google.maps.Animation.BOUNCE); 
 
     }
<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
 
<script type="text/javascript"> 
 
google.load("maps", "3",{other_params:"sensor=false"}); 
 
</script> 
 
<body onload="initMap();" style="margin:0px; padding:0px;" > 
 
\t <div id="map" style="height:400px; width:500px;"></div> 
 
</body>

闪烁的动画,不支持开箱即用,但你可以自己创建它,例子已经包含在其他的答案。

+0

Matej P.感谢您的分享。 – user6493966

+0

没问题。如果你认为答案是有帮助的,你可以升级它。谢谢。 –

+0

不幸的是,这是我的新的计算器帐户和我的声望小于15 upvote任何人:( – user6493966