Comment faire pour obtenir l'équivalent de la précision dans Geocoder de Google Map V3
Je veux obtenir de géocodage de google, et j'ai l'habitude de le faire avec la V2 de l'API.
Google envoyer dans le json une assez bonne information, l'exactitude, la référence est ici : http://code.google.com/intl/fr-FR/apis/maps/documentation/javascript/v2/reference.html#GGeoAddressAccuracy
En V3, Google ne semble pas à m'envoyer exactement les mêmes informations. Il y a le tableau "adresse_component", qui semblent plus importants si la précision est meilleure, mais pas exactement.
Par exemple, j'ai une demande de la précision pour le numéro de la rue, le tableau est de taille 8.
Une autre question est la précision de la route, donc moins de précision, mais le tableau est encore de taille 8, comme il y a une ligne 'sublocality', qui n'apparaissent pas dans le premier cas.
Ok, pour un résultat, Google envoyer des données "types", qui ont la meilleure précision. Ces types sont ici : http://code.google.com/intl/fr-FR/apis/maps/documentation/geocoding/#Types
Mais, il n'est pas de l'ordre réel, et si je wan résulte pas mieux que code_postal, je n'ai aucune idée de comment le faire.
Alors, comment puis-je obtenir c'est l'équivalent de la V2 précision, sans certains stupide et horrible code ?
OriginalL'auteur Cyril Gandon | 2010-06-10
Vous devez vous connecter pour publier un commentaire.
Bien, il y a le type d'emplacement, ce qui n'est pas si mauvais :
Je test si le location_type est différent de l'approximatif, et il donne de bons résultats.
Je suis sur le toit de la ville. Cela semble étrange
OriginalL'auteur Cyril Gandon
Avec Google autodérision leur Géocodage v2 API plus tard cette année, il va y avoir une tonne de personnes qui migrent leurs géocodage logique v3 et cette question va surgir: Comment cartographier l 'location_type' chaîne à un équivalent de "précision"?
Voici un décent cartographie:
Si quelque chose d'autre que le TOIT est spécifiée, utilisez la zone de "nord-est" et "sud-ouest" pour décider si, il est assez précis pour vous.
Maintenant, ce qui doit se produire si vous n'obtenez pas quelque chose de "correct"? Exécutez Google adresses requête de recherche de texte à la même adresse. Google Places n'géocodage et, avec Facturation activé, vous pouvez obtenir à 10 000 Lieux de texte requêtes de recherche par jour (pas de limite de débit) et Google affirme qu'ils ne se recharge pas la carte (ils sont censés viens de l'utiliser pour vérifier le compte). Avec la Facturation, vous obtenez 100 000 requêtes, mais les Lieux de texte, les requêtes de recherche ont un "coût" de 10 fois le montant de l'régulière des Lieux de requête, d'où ladite limite de 10 000. Les lieux peuvent être capricieux et si vous ne devez envisager des réponses avec un résultat.
Parfois des Endroits les requêtes ne retourne pas de code postal - surtout si l'on n'est pas envoyé. Si vous avez besoin du code postal, prendre la lat/lng résultats de Lieux de requête et d'alimentation dans le geocoder, qui va généralement de cracher une adresse avec un code postal (et très souvent d'un TOIT-match).
Il convient de noter que le fonctionnaire de Géocodage de l'API de courtoisie limite est de 2 500 demandes par jour avec un taux limite d'un par seconde et par adresse IP. Par conséquent, suivant la formule ci-dessus sera susceptible de décimer et peut même réduire de moitié le nombre de geocodings disponible pour vous.
Si vous avez besoin de plus que Google Geocoding limite (qui ne l'est pas?), inventez votre propre mini service de géocodage, avec quelque chose comme la base de données OpenStreetMap. Clone les pièces d'OpenStreetMap et que vous avez besoin et d'écrire votre propre geocoder (ou utiliser une bibliothèque). Ensuite, vous pouvez géocodage au contenu de votre coeur avec pas de limite de quantité ou de la limite de vitesse de. Si vous utilisez Google Maps, vous pouvez utiliser Google geocoder comme un secours doit l'OSM geocoder ne pas être suffisamment précis pour tous les cas.
Alternativement, si vous faites confiance à vos utilisateurs de ne pas soumettre de fausses données (vraiment?) et avoir à utiliser le service de géocodage de Google, vous pouvez aussi abuser d'un navigateur web de l'utilisateur par le fait d'avoir le navigateur de géocodage de l'information pour vous et ensuite nourrir les résultats de votre serveur. Vous risquez de vous brûler par l'utilisateur de la limite quotidienne et vous risquez de pousser quelqu'un bidon de données, mais si vous allez à tout ce mal, ne vous inquiétez réellement?
En tout cas, les conseils ci-dessus devrait suffire pour les intermédiaires d'utilisation pour la plupart des utilisateurs d'obtenir un ensemble d'API v3. Rencontré ce problème moi-même, donc pensé que je devais partager avec la communauté, un à mi-chemin décent solution. Je pense toujours que la v2 était la meilleure API entier exactitude des cotes à la place de vilain chaînes de texte gagne toujours.
OriginalL'auteur Paula Bean