2011-09-01 4 views
7

Je n'arrive pas à comprendre comment implémenter le champ de recherche dans mes google maps. Je l'ai où l'utilisateur peut choisir des choses à partir d'un formulaire et il charge les marqueurs sur la carte. Maintenant, je veux ajouter où ils peuvent taper dans la ville et l'état en utilisant la boîte de recherche google, comme sur maps.google.com. Cela peut-il être fait avec API v. 3?Google Maps API 3 boîte de recherche

+0

Je ne sais pas comment accomplir avec la boîte de recherche Google, mais il y a quelques exemples qui pourraient vous aider à commencer votre problème [Exemple de géocodage] (http://code.google.com/apis/maps/documentation/javascript/examples/geocoding-simple.html) [Exemple de géocodage avec jquery] (http://tech.cibul.net/ geocode-avec-google-maps-api-v3 /) – Jorge

Répondre

26

Il n'y a pas de «widget» complet dans Google Maps pour cette tâche. Mais il est facile de l'accomplir. En HTML, vous pouvez avoir un champ de texte et un bouton "Rechercher". (Au lieu de cela, vous pouvez gérer la touche Entrée dans le champ de texte).

<input type="text" id="search_address" value=""/> 
<button onclick="search();">Search</button> 

En Javascript instanciation et utilisez un géocodage:

var addressField = document.getElementById('search_address'); 
var geocoder = new google.maps.Geocoder(); 
function search() { 
    geocoder.geocode(
     {'address': addressField.value}, 
     function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       var loc = results[0].geometry.location; 
       // use loc.lat(), loc.lng() 
      } 
      else { 
       alert("Not found: " + status); 
      } 
     } 
    ); 
}; 
+0

comment puis-je obtenir des informations supplémentaires comme le nom ou l'adresse de cet emplacement? – Alp

+1

@Alp: le cas d'utilisation ci-dessus décrit la situation où vous connaissez déjà le nom ou l'adresse et vous voulez obtenir l'emplacement correspondant (lat, lng). Si vous souhaitez rechercher des lieux intéressants dans le voisinage d'un lieu, vous pouvez consulter [Google places] (http://code.google.com/apis/maps/documentation/places/). – Jiri

+1

@Alp J'avais exactement besoin de ce que vous demandiez dans votre commentaire et voici ce que vous cherchez: https://developers.google.com/maps/documentation/geocoding/#Geocoding Vous avez probablement trouvé quoi vous cherchiez maintenant, mais encore;) – mavili