2016-07-20 12 views
0

Hintergrund (überspringbare)Google API eindeutige Kennung für Land

Ich bin derzeit an einem Projekt arbeiten unsere Webapplikation zu ermöglichen, die Corruption Perceptions Index (CPI) Punktzahl für die Länder der Adressen zu zeigen, die sind und werden in unserer Plattform gespeichert.

Das hört sich einfach an, aber diese CPI-Werte werden jährlich aktualisiert und wir möchten, dass diese Punktzahl für alle auf unserer Plattform gespeicherten Länder aktuell ist. Natürlich wollen wir das nicht, indem wir jährlich alle in der Plattform gespeicherten Adressen scannen und die erforderlichen Änderungen vornehmen, dies ist fehleranfällig (Länder können auf der Plattform in verschiedenen Sprachen gespeichert werden, damit sie nicht einfach übersprungen werden und alte Werte für Länder in verschiedenen Sprachen anzeigen). Und nicht alle Länder haben einen CPI-Wert.

Eine Lösung, die ich gefunden habe, besteht darin, den CPI-Score von der Adressentabelle zu trennen und eine ID zu haben, die aus der ursprünglichen Adressentabelle referenziert werden kann. Auf diese Weise müssen Sie den CPI-Score nur einmal für jedes Land anstatt für alle Übersetzungsvariationen aktualisieren. Ein weiteres Problem bleibt jedoch, wie die Verbindung zwischen dem Land und dem Verbraucherpreisindex hergestellt werden soll. Denn wenn ich eine Adresse beim Land Deutschland hinterlasse, kann ich nicht feststellen, dass es sich um eine Übersetzung von "Deutschland" in Deutsch ohne Übersetzermodul handelt. Da wir die Google Maps API verwenden, dachte ich, es wäre toll, wenn wir eine Art Länder-ID aus der Google-API (wie die Orts-ID in Artikel this) verwenden und diese ID zusammen mit dem Ländernamen und dieser ID speichern könnten als Referenz zwischen CPI und der ursprünglichen Addresses-Tabelle.

Kernfrage

Ist Google eine eindeutige Kennung für die Länder haben nur, dass über die API (ähnlich dem place ID) zugänglich ist?

+0

Sie verwenden [ISO 3166-1] (https://en.wikipedia.org/wiki/ISO_3166-1) –

Antwort

0

Die eindeutige Kennung für eine Funktion in der Google Maps Geocoding-API ist die Orts-ID. Jedes Land hat auch eine Ortskennung.

Wie finden Sie es? Bitte beachten Sie, dass die Geocodierungs-API eine components filtering hat, die es erlaubt, einen Länderfilter zu setzen.

Der Länderfilter akzeptiert den ISO-3166-1-Ländercode mit zwei Buchstaben. So

https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

, wenn Sie einen Platz ID für Deutschland benötigen führen Sie einfach die folgende Anfrage:

https://maps.googleapis.com/maps/api/geocode/json?components=country%3ADE&key=YOUR_API_KEY

Dies gibt den Ort ID ChIJa76xwh5ymkcRW-WRjmtd6HU.

Das gleiche Ergebnis erhalten Sie können die Geocoder-Tool:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D%26options%3Dtrue%26in_country%3DDE