2010-06-20 4 views
9

Je construis une application où les utilisateurs fournissent les adresses pour leurs listes. Il n'est certainement pas pratique de demander à un utilisateur simple de fournir la latitude et la longitude pour chaque adresse qu'il fournit! Puis-je fournir des adresses à l'API Google Maps à la place? Si c'est le cas, comment?Puis-je fournir des adresses au lieu de la latitude et de la longitude à Google Maps?

Merci.

+0

@Ben: Merci pour le repannage, mais je pense que la balise 'google-maps-api-v3' pourrait être importante ici, pour différencier l'API v2. L'API v2 est toujours très populaire. –

+0

Oh, désolé. Il semblait qu'il y avait environ cinq étiquettes à peu près équivalentes et je suppose que j'ai accidentellement supprimé certaines informations. Merci pour l'information! –

Répondre

21

Oui bien sûr. Cela peut être fait très facilement, en utilisant le Geocoding Services fourni par l'API JavaScript de Google Maps. Prenons l'exemple suivant:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps Geocoding Demo 1</title> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script> 
</head> 
<body> 
    <div id="map" style="width: 400px; height: 300px;"></div> 

    <script type="text/javascript"> 

    var address = 'London, UK'; 

    var map = new google.maps.Map(document.getElementById('map'), { 
     mapTypeId: google.maps.MapTypeId.TERRAIN, 
     zoom: 6 
    }); 

    var geocoder = new google.maps.Geocoder(); 

    geocoder.geocode({ 
     'address': address 
    }, 
    function(results, status) { 
     if(status == google.maps.GeocoderStatus.OK) { 
     new google.maps.Marker({ 
      position: results[0].geometry.location, 
      map: map 
     }); 
     map.setCenter(results[0].geometry.location); 
     } 
    }); 

    </script> 
</body> 
</html> 

Screenshot:

Google Maps v3 Geocoding Demo

Vous pouvez simplement remplacer 'London, UK' de la variable address à un emplacement qui prend en charge le géocodage dans Google Maps.

+0

Comment cela peut-il être affiné, souvent je donne un nom de rue dans l'adresse et il laisse tomber une épingle à la ville. –

0

Pourrait être affinée si vous fournissez l'adresse au format: var address = '# Street, City'; var address = '127 chemin Ledbury, Notting Hill, Londres';

Questions connexes