2010-05-05 14 views

Répondre

13

Si vous avez besoin de connaître la latitude et la longitude d'une adresse en utilisant l'API Google Maps, vous devez utiliser le Google Maps Geocoding Service:

var map = new GMap2(document.getElementById("map_canvas")); 
var geocoder = new GClientGeocoder(); 

var address = "1600 Amphitheatre Parkway, Mountain View"; 
geocoder.getLatLng(address, function(point) { 
     var latitude = point.y; 
     var longitude = point.x; 

     // do something with the lat lng 
    }); 

Si vous souhaitez obtenir la latitude et la longitude d'une position cliqué sur votre carte Google, vous pouvez le faire en cas de clic:

GEvent.addListener(map, "click", function(marker,point) { 
     var latitude = point.y; 
     var longitude = point.x; 

     // do something with the lat/lng 
    }); 
+0

Merci! Comment puis-je obtenir GEvent. sur ma page html ou jsp? Dois-je inclure tout js. J'utilise http://code.google.com/p/struts2-map-plugin/wiki/MapTag, mais cela n'a pas d'étiquette sur la fonction de la carte, donc je cherche quelque chose que vous avez montré dans le deuxième exemple ici. –

+0

@AmolGhotankar Ghotankar saheb, mi ha code chalawun pahila, nahi chalate mazya ithe, sagalyat pahilya réponse cha pan code chalat nahiye, tumhala kahi mahit aasel tar sanga na ... mala carte guerre konatyahi point la cliquez sur kelyawar tya point ch latitude et longitude pahijele. –

0

Je ne sais pas si vous demandez un moyen d'obtenir la latitude et la longitude via le code (bien que vous avez dit API :)), Si vous êtes alors il y a un million de messages là-bas qui vous montrera comment (y compris ceux ci-dessus), mais si vous êtes intéressé par un utilitaire qui vous dit juste où vous cliquez, alors Google-maps vient déjà avec. consultez son article ici pour savoir comment activer cette fonctionnalité.

http://varunpant.com/posts/find-longitude-and-latitude-in-google-maps

22

Avec API v3

google.maps.event.addListener(map, 'click', function(event) { 
    alert('Lat: ' + event.latLng.lat() + ' and Longitude is: ' + event.latLng.lng()); 
}); 

De même, vous pouvez récupérer quand un marqueur est traîné tombé:

google.maps.event.addListener(marker, 'dragstart', function(event) { 
    alert('Lat: ' + event.latLng.lat() + ' and Longitude is: ' + event.latLng.lng()); 
}); 
+4

Note: depuis que ma modification a été rejetée, il manque des parenthèses et un point-virgule qui doit être ajouté avant de fonctionner. Aussi, suggérez de changer 'dragstart' en' dragend' de sorte que vous receviez une alerte APRÈS avoir placé le marqueur (pas dès que vous le ramassez). –

0

Pour ajouter à la réponse de RedBlueThing vous pouvez faire des choses comme:

geocoded_by :address 

def address 
[street, city, state, country].compact.join(', ') 
end 

pour vous aider à affiner l'emplacement exact, sinon, si vous venez d'envoyer dans la rue le joyau de géocodage retourne juste la première instance de cette rue qu'il trouve ce qui pourrait être partout dans le monde

0

Et alors? fonctionne bien ...

var map = new google.maps.Map(....); 
var longitude = map.center.lng(); 
var latitude = map.center.lat(); 

ou

var longitude = map.getCenter().lng(); 
var latitude = map.getCenter().lat(); 
Questions connexes