Google Emplacement API vs Maps: Pourquoi des requêtes identiques donnent-elles des résultats différents?

StackOverflow https://stackoverflow.com/questions/1605641

Question

Je suis en train de perdre des cheveux au sujet de l'API AJAX de Google pour le moment. Ce que je fais est de transformer les données de localisation structurées en une requête de l'API de recherche locale Google afin de fournir aux utilisateurs une liste de résultats alternative.

ex.:

http://ajax.googleapis.com/ajax/services/search/local?v=1.0&key=XXX&hl=en_US&mrt=localonly&rsz=large&q=pizza+Neustadt+DE

Cependant, l’API se comporte parfois très bizarrement, ne tenant souvent pas compte de certains paramètres que je lui transmets. Par exemple:

Si je recherche "Rome Rome IT", Sur Google Maps, il trouve tous les termes à Rome comme prévu. Si je répète la même recherche sur l'API, je n'ai aucun résultat (je dois supprimer "Rome" ou "Rome" pour que cela fonctionne: Rome est la région administrative située ici et Rome le nom de la ville).

Pourquoi est-ce?

Un autre exemple. Il y a comme 20 villes différentes, des villes et des arrondissements appelés Neustadt en Allemagne. À présent, lorsque je recherche sur Google Maps, il n'en trouve qu'un, à moins que je spécifie un qualificatif supplémentaire, comme une région ou quelque chose du genre.

Maintenant, au niveau de l’API, je pensais que lorsqu’on transmettrait les paramètres lat / lon avec une requête pour Neustadt, il serait assez intelligent de choisir le bon Neustadt en examinant le codage géographique. Mais cela n'arrive pas, il choisit toujours le même Neustadt et ignore les données géographiques.

q=pizza+Neustadt+DE&sll=48.8053,11.7579

J'ai eu des problèmes similaires lors de recherches dans le cadre de sélection. La boîte englobante semble être complètement ignorée, car je reçois toujours des données de résultats distantes de cent kilomètres:

q=pizza+Neustadt+DE&sll=48.8053,11.7579&sspn=0.00001,0.00001

Le dernier résultat n’est même pas dans la même ville; La minuscule boîte englobante ne doit-elle pas générer de données? Je pourrais même passer un BBox de taille zéro et obtenir toujours des résultats.

Je sais qu'il existe une documentation assez complète pour l'API de recherche locale, mais celle-ci ne précise jamais quels paramètres sont utilisés, quand et comment une requête doit être structurée et évaluée, ce qui rend très difficile l'obtention de résultats corrects. .

Avez-vous des astuces, des astuces et des suggestions pour vous familiariser avec Google Local Search?

MISE À JOUR: Je viens de trouver quelque chose de vraiment étrange. Pourriez-vous s'il vous plaît aller sur ce site:

http://code.google.com/apis/ajaxsearch /documentation/localsearch/index.html

ouvrez firebug et surveillez le trafic HTTP lors de la saisie de cette requête de recherche:

test Rome Roma IT

Vous obtiendrez de nombreux résultats sur la carte. Copiez maintenant l’URL contactée via AJAX et envoyez-lui une requête en ligne de commande:

curl "http://www.google.com/uds/GlocalSearch?key=internal-sample&v=1.0&rsz=large&sll=41.97684819454683%2C12.486648559570312&sspn=0.204185%2C0.549316&q=test%20Rome%20Roma%20IT&lssrc=lsc&lscstyle=final&start=0&callback=_callbacks_._5g139yfuc"

Maintenant, je n’obtiens aucun résultat. Comment est-ce possible? Ce n'est certainement pas la clé ou les arguments de rappel, je les ai supprimés sans aucun changement pour le résultat de cette requête.

Google étend-il ses résultats de recherche lorsqu'une requête provient de l'un de ses serveurs?

Était-ce utile?

La solution

J'ai rencontré exactement le même problème. Il semble s'agir d'une combinaison de problèmes de licence et du fait que ce que Google expose via ses API et ce qu'il affiche dans les pages de recherche Google Maps / Google associent différentes recherches. (recherche, cartes, base, données, etc.)

En ce qui concerne les licences, il semble que Google puisse afficher plus d'informations lorsqu'un utilisateur accède via le navigateur, par rapport aux demandes via des appels d'API (qui pourraient théoriquement être automatisées).

Voir ici pour exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top