標記動畫可是由animation這個類別去提供的,該類別僅提供兩個方法
| Constant | Description |
|---|---|
BOUNCE | Marker bounces until animation is stopped. |
DROP | Marker falls from the top of the map ending with a small bounce. |
BOUNCE是直到animation為空才停止
DROP則是短暫跳躍
HTML:
<!DOCTYPE html>
<html lang="zh-tw">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=Key Number&sensor=false®ion=zh-tw"></script>
<script type="text/javascript" src="./Script.js"></script>
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map { height: 95% ; width: 100% }
#address { width:40% }
</style>
</head>
<body>
<div id="map"></div>
</div>
</body>
</html>
var stockholm = new google.maps.LatLng(59.32522, 18.07002);
var parliament = new google.maps.LatLng(59.327383, 18.06747);
var marker;
var map;
function initialize()
{
var mapOptions = {
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: stockholm
};
map = new google.maps.Map(document.getElementById('map'),
mapOptions);
marker = new google.maps.Marker({
map: map,
draggable: true,
animation: google.maps.Animation.DROP,
position: parliament
});
google.maps.event.addListener(marker, 'click', toggleBounce);
}
JavaScript:
function toggleBounce()
{
if (marker.getAnimation() != null)
{
marker.setAnimation(null);
} else
{
marker.setAnimation(google.maps.Animation.BOUNCE);
}
}
google.maps.event.addDomListener(window, 'load', initialize);
網頁載入時先載入initialize函式,並且用DROP方式呈現。
再來監聽滑鼠點擊事件,該事件觸發則啟動toggleBounce函式,如果Animation不為空,則一直跳動;反之停止
參考資料:
https://developers.google.com/maps/documentation/javascript/overlays?hl=zh-tw#MarkerAnimations

