2010-05-29 7 views
3

Je suis mise à jour mes codes de Google Map API V2 à V3. En V2, j'ai utilisé GlocalSearch pour obtenir la latitude et la longitude de l'adresse donnée.Google Map API V3 géocoder ne montre pas le bon endroit

En V3, j'ai vu google.maps.Geocoder() et j'essaie d'obtenir les mêmes détails. Cependant, le long & donné par la fonction V3 n'est pas précis.

Pls voir la capture d'écran suivante ici: Wrong http://img340.imageshack.us/img340/477/wronga.jpg Correct http://img413.imageshack.us/img413/5899/correct.jpg

Mes codes pour V3 sont les suivantes:

var geocoder = new google.maps.Geocoder(); 
function codeAddress(address) { 
    if (geocoder) 
    { 
     address = address + ", UK"; 

     geocoder.geocode({ 'address': address}, function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       var latlng = results[0].geometry.location;    
       addMarker(latlng); //Adding Marker here    
      } else { 
       alert("Geocode was not successful for the following reason: " + status); 
      } 
     }); 
    } 
} 

Y at-il une meilleure façon d'obtenir le résultat précis dans l'API V3? Merci.

+0

J'ai remarqué que dans V3, lorsque je cherche une entreprise, cela me prend juste à l'emplacement APPROXIMATIVE (au moins d'où je suis, Philippines). Et comme je ne pouvais pas faire fonctionner V3 et Localsearch, j'ai décidé d'utiliser V2 et Localsearch à la place. J'ai utilisé le géocodage V2 puis Localsearch pour afficher les marqueurs. – wenbert

Répondre

0

Consigner la valeur de la propriété location et vérifier si les coordonnées sont correctes.

Publiez le code de méthode addMarker.

0

Une autre option consiste à appeler le service Web qui donnera les résultats au format JSON ou XML, puis vous pourrez formuler ces résultats pour obtenir l'emplacement souhaité. Il y a beaucoup d'exemples sur la documentation google maps v3

Questions connexes