Entmystifizierung der standortbasierten iOS-Dienste zur Verbesserung der Genauigkeit

Seit den bescheidenen Anfängen der Ära der Mobilgeräte hatten Telekommunikationsanbieter und Anwendungsentwickler die Möglichkeit, ein Gerät geografisch zu lokalisieren. Frühe nicht so intelligente Geräte verwendeten Triangulation - genauer gesagt Trilateration -, um den Standort eines Benutzers zu bestimmen. Mit der Entwicklung der Hardware und der unterstützenden Technologien wurden mobile Geräte mit satellitengestützten Navigationsfunktionen ausgestattet. Darüber hinaus enthält jedes aktuelle Apple-Mobilgerät einen Beschleunigungsmesser zum Messen der Geschwindigkeit und einen Magnetometer zum Bestimmen des Kurses eines Geräts.

Apples iOS 6 führte Entwickler in ein stark verbessertes Core Location Framework (PDF) ein. Das neue Framework nutzt die aktuelle Hardware voll aus, um eine robuste Suite standortbasierter Dienste bereitzustellen. Während Trilateration oder globale Positionierung allein eine angemessene Genauigkeit bieten, verwendet Apple mehrere Techniken gleichzeitig, um genaue Standortkoordinaten des Geräts bereitzustellen. Um die Komplexität der standortbasierten iOS-Dienste voll zu verstehen, müssen wir die Wissenschaft und Mathematik verstehen, die hinter der Trilateration, der unterstützten globalen Positionierung und der Verwendung von Crowd-Sourcing-WLAN durch Apple stehen.

Trilateration

Triangulation und Trilateration sind zwei mathematische Prozesse zur Bestimmung der Position eines Punktes. Bei der Triangulation werden Winkel von bekannten Orten - wie z. B. Zelltürmen - gemessen, um die aktuelle Position zu berechnen. Die Trilateration bestimmt die Position eines Geräts, indem der Schnittpunkt von Kreisen oder Kugeln berechnet wird, die die Entfernung eines Geräts von bekannten Orten darstellen. Die Genauigkeit dieser Ansätze wird verbessert, da bei den Berechnungen festere Positionen verwendet werden.

Die Signalstärke wird verwendet, um die Entfernung eines Geräts von verschiedenen Zelltürmen vorherzusagen. Wenn der feste Standort des Zellturms bekannt ist, wird ein Entfernungsradius festgelegt. Ohne den Schnittpunkt von Kreisen von einer zweiten oder dritten Zellturmposition aus können wir nur feststellen, dass sich das Gerät irgendwo am Umfang des Entfernungskreises befindet (Abbildung A) . Eine Rundstrahlantenne am Mobilfunkmast kann die Position eines Mobilgeräts einschränken, ist jedoch nicht nah genug, um die Anforderungen der heutigen iOS-Apps zu erfüllen.

Abbildung A.

Während sich mobile Geräte mit Mobilfunkfunktion bewegen, ist es - insbesondere in dicht besiedelten Gebieten - üblich, dass das Gerät gleichzeitig mit mehreren Mobilfunkmasten kommuniziert. Wenn zwei Mobilfunkmasten mit dem Gerät in Verbindung stehen, können wir aus den beiden Schnittpunkten zwei mögliche Positionen ableiten (Abbildung B) . Der beste Fall ist jedoch, die Informationen von mindestens drei Zelltürmen zu nutzen, um einen Ort zu bestimmen, der durch den einzelnen Schnittpunkt von drei Kreisen oder Kugeln dargestellt wird (Abbildung C) .

Abbildung B.

Abbildung C.

Globales Navigationssystem

Globale Navigationssysteme wie GPS bieten die Möglichkeit, ein Gerät mithilfe bekannter Koordinaten von Satelliten im Gegensatz zu Mobilfunkmasten zu lokalisieren. Trilateration wird verwendet, um den Schnittpunkt von Kugeln zu finden, um den Standort eines GPS-fähigen Mobilgeräts zu bestimmen. GPS-Hardware ist energieaufwendig und kann den Akku eines Mobilgeräts schnell entladen. Apple verwendet den effizienteren AGPS-Prozess (Assisted Global Positioning) zum Auffinden und Verknüpfen von Satelliten. Mit AGPS wird die Satellitenpositionierung von einer Mobilfunk- oder Wi-Fi-Verbindung abgerufen, wodurch sich die Zeit zum Erkennen eines Satelliten verringert.

Crowd-Sourcing

Apple nutzt Crowd-Sourcing-Informationen, um (1) die Genauigkeit standortbasierter Dienste auf Mobilfunk- und GPS-fähigen Geräten zu optimieren und (2) standortbasierte Dienste auf nicht-Mobilfunk- oder Wi-Fi-Geräten zu aktivieren.

Crowd-Sourcing-WLAN ist bei weitem der innovativste Ansatz zur Bestimmung des Standorts eines Mobilgeräts. Apple verwendet eine Datenbank mit WLAN-Hotspots und Mobilfunkstandorten, die anonym von einer beliebigen Anzahl von iOS-Mobilgeräten übermittelt wird, um die Koordinaten eines einzelnen Mobilgeräts zu ermitteln. Mobilfunk-, AGPS- und Crowd-Sourcing-WLAN-Informationen werden verwendet, um genaue Daten an standortbasierte iOS-Dienste weiterzuleiten. Das iOS Core Location Framework von Apple ermöglicht die Ausführung komplexer Aufgaben mit nur wenigen Codezeilen.

Verwenden von standortbasierten Diensten

Die standortbasierten iOS-Dienste bieten einfache Methoden zum Ermitteln des aktuellen Standorts eines Geräts. Der erste Schritt bei der Verwendung standortbasierter Dienste besteht darin, Ihrem iOS-Projekt das Core Location Framework hinzuzufügen. Mit dem verknüpften Framework können Sie in Ihrer App auf den Standard-Standortdienst, den Dienst für wesentliche Änderungen und die Regionsüberwachung zugreifen.

Führen Sie die folgenden Schritte aus, um das Core Location Framework hinzuzufügen (Abbildung D) :

Abbildung D.

Wählen Sie die "Ziel" -App in der linken Navigation Ihres Projektfensters.

Wählen Sie die Registerkarte "Zusammenfassung" und scrollen Sie zum Abschnitt "Verknüpfte Frameworks und Bibliotheken".

Klicken Sie auf die Schaltfläche "+", wählen Sie CoreLocation aus und klicken Sie auf "Hinzufügen".

Fügen Sie mit dem mit Ihrem Projekt verknüpften Core Location Framework eine # import-Referenz für die Header-Datei in die Codedateien ein, in denen das Location Manager-Objekt erstellt und initialisiert wird. In der Regel gibt es nur eine Instanz des Standortmanagerobjekts. Aus diesem Grund erstellen Entwickler häufig das Standortmanagerobjekt in der App Delegate-Implementierungsdatei. Die App Delegate-Headerdatei (.h) sollte Code A ähneln.

Code A.

 #importieren 
 #importieren 
 @interface AppDelegate: UIResponder 
 @property (stark, nichtatomar) UIWindow * -Fenster; 
 @property (stark, nichtatomar) CLLocationManager * locationManager; 
 @Ende 
In der App Delegate-Implementierungsdatei (.m) wird das Standortmanagerobjekt erstellt. Wir synthetisieren die Eigenschaft und erstellen / initialisieren dann unser Objekt in der Methodenanwendung didFinishLaunchingWithOptions, wie in Code B gezeigt . Wenn Ortungsdienste verfügbar sind, initialisieren wir das Objekt.

Code B.

 #import "AppDelegate.h" 
 @implementation AppDelegate 
 @synthesize locationManager = _locationManager; 
 - (BOOL) -Anwendung: (UIApplication *) -Anwendung didFinishLaunchingWithOptions: (NSDictionary *) launchOptions 
 { 
 if (self.locationManager == nil) { 
 _locationManager = CLLocationManager alloc init; 
 _locationManager.distanceFilter = kCLDistanceFilterNone; 
 _locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
 _locationManager.delegate = self; 
 self.locationManager = _locationManager; 
 }} 
 if (CLLocationManager locationServicesEnabled) { 
 self.locationManager startUpdatingLocation; 
 }} 
 JA zurückgeben; 
 }} 
 @Ende 
Wenn das Core Location Framework verknüpft und das Location Manager-Objekt initialisiert ist, kompilieren Sie die App für die Ausführung im iPhone Simulator. Wie Sie sehen, wird der Benutzer aufgefordert, Ortungsdienste für diese bestimmte App zuzulassen (Abbildung E) .

Abbildung E.

Standortbasierte Dienste werden verwendet, um den aktuellen Standort eines Mobilgeräts für Social Media- und Marketinganwendungen abzurufen. Standortbasierte Dienste unter iOS 6 bieten die Möglichkeit, formbasierte Regionen zu überwachen und Echtzeit-Feedback zum Auslösen von Benachrichtigungen zu geben, wenn ein Gerät Grenzen überschreitet. Einzelhändler verwenden Geo-Fencing-Strategien in ihren Apps, um eine Benachrichtigung an einen Benutzer zu senden, wenn dieser sich in unmittelbarer Nähe eines vordefinierten Standorts befindet, z. B. eines Coffeeshops.

Die Erinnerungs-App in iOS 6 verwendet die Regionsüberwachung, um standortbezogene Erinnerungen zu unterstützen. Diese Funktion kann in jeder iOS 6-App verwendet werden. Das Location Awareness Programming Guide ist eine hervorragende Ressource für detaillierte Informationen zum Standard-Standortdienst, zum Standortdienst für wesentliche Änderungen und zu den verbesserten Funktionen zur Regionsüberwachung. Apple hat eine sehr komplexe Technologie zur Standortbestimmung in ein Framework integriert, das definitiv viele großartige neue Apps inspirieren wird.

Lesen Sie auch:

  • Kopfschmerzen und Tipps für iOS Developer Program-Anwendungen
  • Standortdaten: Wie Unternehmen vermeiden können, sich bei der Verfolgung von Benutzern zu verirren
  • KMUs können Foursquare verwenden, um Kunden zu finden und zu binden

© Copyright 2021 | mobilegn.com