Frage

Ich verliere derzeit ein paar Haare über die Ajax -API von Google. Ich verwandle strukturierte Standortdaten in eine lokale Such -API -Abfrage von Google, um den Benutzern eine alternative Ergebnisliste von Orten zu geben.

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

Die API verhält sich jedoch manchmal sehr seltsam und berücksichtigt oft nicht bestimmte Parameter, die ich an sie übergeben habe. Zum Beispiel:

Wenn ich auf Google Maps nach "Begriff rome roma it" suche, dann findet es alle Bedingungen in Rom wie erwartet. Wenn ich die gleiche Suche in der API wiederhole, erhalte ich keine Ergebnisse (ich muss entweder 'Roma' oder 'Rom' entfernen, damit es funktioniert - Roma ist die Verwaltungsregion hier und Rom der Stadtname).

Warum ist das so?

Ein anderes Beispiel. Es gibt 20 verschiedene Städte, Städte und Bezirke, die in Deutschland als Neustadt bezeichnet werden. Wenn ich nun auf Google Maps suche, findet es nur einen, es sei denn, ich habe einen zusätzlichen Qualifikationsspiel wie eine Region oder so an.

Jetzt erwartete ich auf der API -Ebene, dass es bei der Übergabe von LAT/LON -Parametern zusammen mit einer Abfrage für NeustaDt klug genug wäre, um die richtige Neustation auszuwählen, indem sie sich die GEO -Codierung ansehen. Aber das passiert nicht, es wählt immer die gleiche Neustation aus und ignoriert die Geo -Daten.

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

Ich hatte ähnliche Probleme bei der Suche nach Begrenzungsboxen. Der Begrenzungsbox scheint vollständig ignoriert zu werden, da ich immer noch Ergebnisdaten erhalte, die hundert Kilometer frei sind:

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

Das letzte Ergebnis ist nicht einmal in derselben Stadt; Sollte der winzige Begrenzungsbox gar nicht zu Daten führen? Ich könnte sogar eine Null -Größe Bbox übergeben und würde immer noch Ergebnisse erzielen.

Ich weiß, dass es eine tatsächlich umfangreiche Dokumentation für die lokale Such -API gibt, aber es geht nie darauf ein, welche Parameter verwendet werden, wann und wie eine Abfrage strukturiert und bewertet wird, was es sehr schwierig macht, anständige Ergebnisse zu erzielen.

Haben Sie Hinweise, TIPPS und Vorschläge, wie Sie mit Google Local Search in den Griff bekommen können?

AKTUALISIEREN:Ich habe gerade etwas wirklich Seltsames gefunden. Könnte jemand bitte auf diese Website gehen:

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

Öffnen Sie Firebug und überwachen Sie den HTTP -Verkehr beim Eingeben dieser Suchabfrage:

test Rome Roma IT

Sie erhalten eine Reihe von Ergebnissen auf der Karte. Kopieren Sie nun die URL, die über AJAX kontaktiert wurde, und senden Sie eine Anfrage in die Befehlszeile:

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"

Jetzt bekomme ich keine Ergebnisse. Wie kann das möglicherweise sein? Es ist definitiv nicht der Schlüssel- oder Rückruf -Args, ich habe sie ohne Änderung des Ergebnisses dieser Abfrage entfernt.

Erweitert Google seine Suchergebnisse, wenn eine Abfrage von einem ihrer Server stammt?

War es hilfreich?

Lösung

Ich habe genau dasselbe Problem aufgetreten und es scheint auf eine Kombination aus Lizenzproblemen und der Tatsache zurückzuführen zu sein, dass das, was Google über seine APIs ausstellt und was es auf den Karten/Google -Suchseiten anzeigt Karten, Basis, Daten usw.ETC.)

Bei der Lizenzierung scheint Google anzeigen zu können mehr Informationen, wenn ein Benutzer über den Browser geht, im Vergleich zu Anforderungen über API -Anrufe (die theoretisch automatisiert werden können).

Sehen hier zum Beispiel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top