您可以通過動畫的方式呈現標記,以便它們能夠在各種不同的情況下展現出動態移動的效果。要指定某個標記的
動畫呈現方式,請使用該標記的 animation
屬性,其類型為 google.maps.Animation
。可支持以
下 Animation
值:
DROP
表示第一次將該標記放置在地圖上時,該標記應該從地圖頂部下落到其最終位置。一旦標記停止移
動,動畫即停止,并且 animation
將還原為 null
。在創建 Marker
時,通常會指定這種類型的動
畫。
BOUNCE
表示該標記應該在原地彈跳。彈跳標記將持續彈跳,直到其 animation
屬性顯式設置
為 null
。
您可以通過對 Marker
對象調用 setAnimation()
來對現有標記啟動動畫。
以下示例將展示標注動畫,并且是可以拖動
var google_map = new BigeMap();
var marker;
function iniMap() {
var myOptions = {
//設置中心點
center: new google.maps.LatLng(30.54024807, 104.06966686),
//默認顯示級別
zoom: 4,
//是否顯示街景 因為大部分是離線,所以不需要顯示
streetViewControl: false,
mapTypeControlOptions: {
mapTypeIds: ['google_online_map']
}
};
//初始化map對象
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
//像map對象中添加一種地圖
map.mapTypes.set('google', google_map);
marker = new google.maps.Marker({
position: new google.maps.LatLng(30.54024807, 104.06966686),
title:'Hello World!',
draggable: true,
animation: google.maps.Animation.DROP,
map:map
});
google.maps.event.addListener(marker,'click',function () {
toggleBounce();
});
//設置map對象默認顯示 google 地圖 也就是上面的google_map對象
map.setMapTypeId('google');
}
function toggleBounce() {
if (marker.getAnimation() !== null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
}