2017-11-23 3 views
1

Ich habe eine Datenbank, die viele schlecht formatierte Adressen hat. In diesen Adressen habe ich eine einzige Straße oder Straße mit dem Namen der Stadt. In meiner Anwendung wählen Sie eine Kategorie und nachdem ich zB 50.100.300 Adressen auf der Karte anzeigen möchte (nicht alle Adressen aus meiner Datenbank, sondern ein kleines Stück Daten).Wie vermeiden Sie QUERY_LIMIT Rate in Google Maps

Also meine Frage ist, was ist die beste Praxis, um diese Adressen zu lat lang in meinem Fall zu geocodieren?

las ich eine Menge über Google Geocoding und es ist ein QUERY_LIMIT

2.500 freie Anfragen pro Tag, als die Summe der clientseitigen und serverseitigen Abfragen berechnet.

50 Anfragen pro Sekunde, berechnet als Summe von clientseitigen und serverseitigen Abfragen. Also ich denke, dass ich meine Daten in Anwendungen Cache-und Geocode-Adressen mit Geocoding-API-Web-Service speichern konnte.

Zum Beispiel, Benutzer festlegen Kategorie und nachdem es Anwendung sendet eine Anfrage für die Geokodierung und danach in zum Beispiel freigegebenen Einstellungen gespeichert ist, und wenn der Benutzer wieder diese Kategorie Anwendung suchen nach Adressen in gemeinsamen Einstellungen und wenn Anwendungen finde nichts und mache dann eine Abfrage.

Google hat jedoch eine Grenze von 50 Anforderungen pro Sekunde. Wenn also viele Benutzer gleichzeitig eine Anfrage senden, liegt ein Problem vor und sie erhalten QUERY_LIMIT.

Ist mein Denken gut? Oder betrifft dies IP und dieses Problem wird nicht auftreten? Oder vielleicht sollte ich eine andere API verwenden, um eine Adresse zu geocodieren, nicht von Google? Was denken Sie?

Antwort

2

Sie können einen Anforderungsverteiler mit einer Warteschlange für Geocodierungsanforderungen erstellen und das Timing überwachen, sodass Sie die Grenzwerte nicht erreichen (dies könnte die Antwortzeit für Benutzer in Spitzenzeiten erhöhen).

Ich würde auch empfehlen, die Antwort in Ihrer Datenbank für die weitere Verwendung zu speichern und einen Hintergrundprozess zu haben, der Geocodierungsanfragen für populäre Adressen automatisch sendet, so dass Sie die maximal erlaubten täglichen Anfragen haben.

+0

Ich würde nur hinzufügen, dass Google temporäre Cache für 30 Tage erlaubt, so sollten Sie den temporären Speicher regelmäßig aktualisieren. Weitere Informationen finden Sie in Abschnitt 10.5 (d) der Nutzungsbedingungen: https://developers.google.com/maps/terms?#section_10_5 – xomena

Verwandte Themen