2009-06-29 9 views
2

Für eine Ajax-App, die ich mache, habe ich die Google Local Search API verwendet, um die Adressinformationen einzugeben. Wenn der Benutzer z. B. Beschäftigungsinformationen ausfüllen muss, würde die Eingabe des Geschäftsnamens eine Liste mit übereinstimmenden Unternehmen enthalten. Wenn Sie dann auf eins klicken, werden alle Adressfelder ausgefüllt. Wir können es jedoch nicht verwenden, da die Google API eingeschränkt ist. Wir haben eine geschlossene https-App, die es einfach nicht in Frage stellt.Verwenden von Bing als lokale Suche

Aufgrund der https-Anforderung müssen wir den Server als Proxy verwenden, was eine ziemlich milde Nutzungsbeschränkung bedeutet. Das macht Bing zu einer guten Wahl. Die REST API scheint ein guter Weg zu sein, und es funktioniert gut genug, aber mit einem Problem. Der Mittelpunkt muss als Breiten- und Längengrad angegeben werden. Die Benutzer geben die Informationen in einer Postleitzahl oder in einem Stadt/Bundesstaat-Format an. Dies bedeutet eindeutig Geokodierung. Was ist die beste Route? Gibt es eine gute Möglichkeit, um Geocoding zu umgehen, die ich vermisse? Betrachtet man die Bing-APIs, so scheint es, dass Geocoding als ein SOAP-Webdienst angeboten wird, der Geld kostet. Wenn ich das tue, sollte ich nur Google Maps für Geocoding verwenden - gibt es eine Enterprise-Version von Maps mit https? Irgendwelche anderen Vorschläge?

Ich benutze Java auf dem Server und offensichtlich Javascript am Frontend. Es ist eine Javascript-schwere App, also wäre auch eine Javascript-Lösung willkommen.

Antwort

2

Also, wenn ich Ihre Frage richtig lese, brauchen Sie einen Weg von Postleitzahl/Stadt/Staat zu Längen- und Breitengrad zu gehen?

Wenn das der Fall ist, gibt es eine Reihe von freien und bezahlten Datenbanken, die diese Informationen haben. Die freeones sind in der Regel nicht 100% auf dem neuesten Stand, aber die bezahlten sind ziemlich preiswert und würden regelmäßige Updates mit den neuesten und besten Daten enthalten.

+0

Also schlagen Sie vor, ich mache die Geocodierung auf dem Server, weil sie begrenzt genug ist? –

+0

@ Russell - Ein paar Möglichkeiten, wie Sie es tun könnten. Sie könnten die Geocodierung auf Ihrem Server mit einer Datenbank durchführen (wie ich in meiner Antwort vorgeschlagen habe) oder Sie könnten einen Dienst auf Ihrem Server erstellen, den Sie über HTTPS anrufen, der dann über einfaches altes HTTP nach Bing/Google ruft. Dies würde die Seiten als HTTPS behalten, aber benutze einfach normales HTTP unter der Haube - wenn das aus Sicherheitsgründen sowieso akzeptabel ist. –

+0

Das ist eigentlich, wie wir jetzt mit Bing interagieren, aber es tut Geocoding nicht. Wir könnten die Geokodierung mit Google machen, aber es gibt Anforderungslimits, die unser Server übertreffen würde. –

Verwandte Themen