Das Verständnis Geocoding auf dem iPad

eine Adresse auf einen Satz von Kartenkoordinaten Konvertieren aufgerufen vorwärts Geokodierung, wobei von einem Satz von Koordinaten an eine Adressenumwandlungs aufgerufen Reverse Geocoding. Sowohl nach vorne und umgekehrte Geokodierung sind in Apples unterstützt CLGeocoder Klasse, die einen Teil von Apples Corelocation Rahmen.

Das CLGeocoder Klasse bietet Dienstleistungen für zwischen einer Koordinate (als Breiten- und Längengrad angegeben) Umwandlung und die benutzerfreundliche Darstellung, dass koordinieren. Benutzerfreundliche Darstellung des Koordinaten bedeutet die Straße, Stadt, Staat und Land Informationen von einem bestimmten Ort oder ein relevanter Punkt von Interesse, Sehenswürdigkeiten oder andere Informationen.

Das CLGeocoder Klasse bietet auch Dienstleistungen für das Gegenteil: den Koordinatenwert für eine Textzeichenfolge zurückkehrt, dass die benutzerfreundlich Darstellung, dass koordinieren.

So verwenden Sie ein CLGeocoder Objekt, erstellen Sie es zuerst und dann eine zukunfts- senden oder Reverse-Geocoding Nachricht.

  • Reverse Geocoding: Diese Anfragen nehmen Sie einen Breiten- und Längenwert und finden Sie eine vom Benutzer lesbare Adresse.

  • Vorwärts-Geocoding: Diese Anfragen nehmen eine vom Benutzer lesbare Adresse und finden Sie den entsprechenden Breiten- und Längenwert. Zukunfts Geocodierungsanfragen zurückkehren können auch zusätzliche Informationen über den angegebenen Ort, wie zum Beispiel ein Punkt von Interesse oder Gebäude an dieser Stelle.

Für beide Arten der Anfrage, werden die Ergebnisse als Array zurückgegeben von CLPlacemark Objekte zu einem Abschluss-Handler-Block. Im Falle von zukunfts Geocodierungsanfragen, multiple Ortsmarke Objekte zurückgegeben werden, wenn der zur Verfügung gestellten Informationen mehrere mögliche Standorte ergibt.

EIN CLPlacemark Objekt enthält unter anderem die folgenden Eigenschaften:

  • Lage: Sehr nützlich für die Vorwärts-Geokodierung

  • Name: Der Name des Orts

  • addressDictionary: Ein Wörterbuch der Adressbuch-Schlüssel und Werte für die Ortsmarke enthält,

  • ISOcountryCode: Der abgekürzte Name des Landes

  • Land: Der Name des Landes

  • Postleitzahl: Die Postleitzahl

  • administrativeArea: Der Staat oder Provinz

  • subAdministrativeArea: Zusätzliche Verwaltungsbereich Informationen (wie Grafschaft)

  • Gegend: Die Stadt

  • NachbarInformationen Weitere Stadtebene wie Nachbarschaft oder einem gemeinsamen Namen für den Standort:

  • Durchgangsstraße: Die Straße

  • subThoroughfare: Zusätzliche Street-Level-Informationen, wie zum Beispiel die Gebäudenummer

  • Region: Das CLRegion

Zeichen und geografische Informationen können auch in der zur Verfügung CLPlacemark Objekt in den folgenden Eigenschaften:

  • InteressengebieteDie betreffenden Bereiche von Interesse mit der Ortsmarke assoziiert

  • * inlandWater: Der Name des Binnenwasserkörper mit der Ortsmarke assoziiert

  • Ozean: Der Name des Ozeans mit der Ortsmarke assoziiert

Um über intelligente Entscheidungen, welche Arten von Informationen zurückzukehren, verwendet der Geocoder-Server alle Informationen, die ihm zur Verfügung gestellt, wenn die Verarbeitung der Anforderung. Zum Beispiel, wenn der Benutzer schnell entlang einer Autobahn bewegt, könnte der Geocoder den Namen des gesamten Region zurückkehren, anstatt den Namen eines kleinen Parks, die der Benutzer durchlaufen.

Hier sind einige eher lose Regeln (Apple) für die Nutzung der CLGeocoder Objekt:

  • Senden höchstens eine Geocodierungsanfrage für jede einzelne Benutzeraktion. Das heißt, nicht anfangen, eine weitere Anforderung, bis die erste abgeschlossen hat.

  • Wenn die App die geografische Position in mehr als eine Karte Lage braucht, zu speichern und dann die Ergebnisse der ersten Geocodierungsanfrage wiederzuverwenden, anstatt ein anderes zu tun.

  • Wenn Sie den Benutzer aktuellen Standort automatisch aktualisieren wollen (zB wenn der Benutzer bewegt), geben nur neue Geocodierungsanfragen, wenn der Benutzer einen erheblichen Abstand bewegt hat, hat eine angemessene Menge an Zeit vergangen, oder beides. Zum Beispiel in einer typischen Situation, sollten Sie nicht mehr als eine Geocodierungsanfrage pro Minute senden.

  • Verwenden Sie keine Geocodierungsanfrage starten, wenn die Anwendung inaktiv oder im Hintergrund ist.

  • Ein iOS-Gerät muss für den Zugriff auf das Netzwerk haben, um CLGeocoder Objekt, um detaillierte Informationen Orts zurückzukehren. Obwohl iOS speichert lokal genug Informationen, um die lokalisierten Ländernamen und ISO-Ländercode für viele Standorte zu melden, wenn Länderinformationen für einen bestimmten Ort nicht verfügbar ist, die CLGeocoder Objekt kann immer noch einen Fehler melden.

Sie können ein verwenden CLGeocoder Objekt entweder in Verbindung mit, oder unabhängig von der Klasse der MapKit Rahmen.

Menü