2012-08-14 6 views
5

Tengo este código de ejemplo modificado de GoogleAPI de Google Maps v3 gota marcador y rebotar la animación

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: 15, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     center: stockholm 
    }; 

    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

    marker = new google.maps.Marker({ 
     map:map, 
     draggable:true, 
     animation: google.maps.Animation.DROP, 
     position: parliament, 
     icon: '/img/marker.png' 
    }); 
    google.maps.event.addListener(marker, 'click', toggleBounce); 


    setTimeout(function() { marker.setAnimation(google.maps.Animation.BOUNCE); }, 2000); 

} 

function toggleBounce() { 

    if (marker.getAnimation() != null) { 
    marker.setAnimation(null); 
    } else { 
    marker.setAnimation(google.maps.Animation.BOUNCE); 
    } 
} 

y me pregunto si es posible cambiar la animación marcador de DROP para rebotar después de paradas de animación GOTA?

Me las arreglé para cambiarlo usando la función setTimeout() pero no lo hace sin problemas. Cualquier ayuda será apreciada.

Respuesta

0

Puede probar esto. :

google.maps.event.addListener(marker, "dragend", function(event) { 
      marker.setAnimation(google.maps.Animation.BOUNCE); 
     }); 
+1

comprobado y que no funciona. – debianek

6

trate de cambiar la animación marcador en google.maps.event.addListener(map, 'idle', function()...) - esto se llamará después se añadió el marcador (s).

document.write('<script src="https://maps.googleapis.com/maps/api/js">\x3C/script>'); 
 

 
window.onload = function() { 
 
    // Create map 
 
    var map = new google.maps.Map(document.getElementById('map_canvas'), { 
 
     zoom: 12, 
 
     center: new google.maps.LatLng(-33.87, 151.24), 
 
     mapTypeControlOptions: { 
 
      mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style'] 
 
     } 
 
    }); 
 

 
    // Create marker 
 
    var marker = new google.maps.Marker({ 
 
     position: new google.maps.LatLng(-33.890542, 151.274856), 
 
     map: map, 
 
     animation: google.maps.Animation.DROP, 
 
     title: 'Bondi Beach' 
 
    }); 
 
    
 
    // On idle, change marker animation to bounce 
 
    google.maps.event.addListener(map, 'idle', function() { 
 
     marker.setAnimation(google.maps.Animation.BOUNCE); 
 
    }); 
 
}
#map_canvas { 
 
    width: 300px; 
 
    height: 300px; 
 
}
<div id="map_canvas"></div>

Cuestiones relacionadas