2011-10-27 3 views
0

J'utilise le code suivant pour obtenir les coordonnées de mon marqueur cartes Google comme sa position changeObtenir Google Maps Lat et Long coordonnées

google.maps.event.addListener(marker, 'drag', function() { 
     lat = Math.round(marker.position.Ma * 1000)/1000; 
     lng = Math.round(marker.position.Na * 1000)/1000; 
     [.. using lat and long] 
    }); 

Ce code utilisé pour fonctionner correctement. De temps en temps, Google a changé le nom des variables de position Ma et Na (pas sûr pourquoi ils le font). Donc, j'utilise les bonnes variables pour obtenir le lat et le long, ou y a-t-il une autre façon de le faire?

Répondre

2

Essayez ceci:

lat = Math.round(1000 * marker.getPosition().lat())/1000; 
lng = Math.round(1000 * marker.getPosition().lng())/1000; 

On dirait que vous utilisez leurs variables privées au lieu des méthodes d'accès.

+0

Merci. Cela a résolu mon problème. Je savais que je faisais quelque chose de mal :) –

1

Je l'ai utilisé comme suit l'événement de déplacement donne un objet MouseEvent avec latlng:

google.maps.event.addListener(marker, 'drag', function(event) { 
    lat = Math.round(event.latLng.lat() * 1000)/1000; 
    lng = Math.round(event.latLng.lng() * 1000)/1000; 
    [.. using lat and long] 
}); 
+0

Pense juste que ce serait une meilleure idée d'accéder à l'objet événement plutôt qu'au marqueur lui-même –

Questions connexes