Existe-t-il un format standard permettant de fournir la chaîne d'adresse à l'API Google GeoCoding afin d'obtenir les résultats les plus précis sur la carte.
Pour P. la requête suivante ne donne pas un résultat correct.
http://maps.googleapis.com/maps/api/geocode/xml?address=bloom,Bloomfield,CT,06002,USA&sensor=false
Merci
Mandeep
Je crois que le format suggéré est:
House Number, Street Direction, Street Name, Street Suffix, City, State, Zip, Country
Les résultats sont moins précis, moins il est évident que vous pouvez fournir des informations.
Dans votre exemple, le géocodeur recherche une rue nommée "bloom", dont les correspondances sont identiques dans OH au lieu de CT. Le fait de supprimer "bloom" de la requête, puis de rechercher renvoie Bloomfield, CT.
Définition de la recherche d'adresse Google:
address - L'adresse municipale que vous souhaitez géocoder, au format utilisé par le service postal national du pays concerné. Les éléments d'adresse supplémentaires tels que les noms commerciaux et les numéros d'unité, de suite ou d'étage doivent être évités.
https://developers.google.com/maps/documentation/geocoding/#geocoding
Comment formater mes requêtes de géocodeur pour maximiser le nombre de requêtes réussies?
Le géocodeur est conçu pour mapper des adresses de rue sur des coordonnées géographiques. Nous vous recommandons donc de formater les demandes de géocodeur conformément aux instructions suivantes afin de maximiser les chances de succès de la requête:
J'ai trouvé la réponse incomplète et il manquait une source.
Regardez ici: https://developers.google.com/places/documentation/autocomplete#place_autocomplete_responses
L'API d'auto-complétion des cartes de Google renvoie un format beaucoup plus simple: "Adresse municipale, ville, pays" Vous pouvez désormais utiliser une chaîne comme celle-ci pour rechercher une adresse. Elle devrait aboutir à un résultat exact . Si vous utilisez l'API d'auto-complétion, vous obtiendrez également un identifiant unique pouvant être utilisé pour d'autres demandes de détail.
Le format de l'adresse de rue dépend grandement de l'endroit où vous vous trouvez réellement . Aux États-Unis, "Numéro de rue, sens de la rue, nom de rue, suffixe de rue" pourrait avoir un sens, dans la plupart des pays d'Europe cela n'aboutira à aucune requête .
Les adresses dans la plupart des pays de l'UE sont différentes (souvent "suffixe de numéro de rue") comme "Kumpelstraat 25A", "Psolevcu 331/26b") et je suppose que nous serions surpris de voir certains pays de l'Est.
Donc, si vous liez votre code à une seule zone (États-Unis, la plupart des pays de l’UE), vous pourriez bien coder le format en dur.
Si vous voulez un système plus flexible, vous devez trouver une présentation appropriée pour votre public cible ou interroger l’une des API googles pour obtenir automatiquement une chaîne appropriée . Celui que j'ai lié est très bon mais nécessite une Clé API avec une limite de demande gratuite par jour.
Je suis tombé sur cette question et ai trouvé une solution qui a fonctionné pour moi:
Je pense que la réponse peut être trouvée en utilisant le filtrage de composants, regardez: https://developers.google.com/maps/documentation/geocoding/#ComponentFiltering
Un exemple en Javascript:
var request = require('request');
var url = "https://maps.googleapis.com/maps/api/geocode/json?" +
"address=Herengracht 180" +
"&components=postal_code:1016 BR|country:NL" +
"&sensor=false";
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
else {
console.log('error', error);
}
});
Pas besoin d'éviter les appartements. Cela marche:
https://maps.googleapis.com/maps/api/geocode/xml?address=14202+N+42nd+St+Unit+301+33613
"Apt", "Room" et "Suite" fonctionnent également
Ils renvoient tous 301 en tant que sous-produits et sont indiqués dans "adresse_formée" sous la forme "# 301".
Paul envoie ...