iPhone 3G: Wie Positionen um einen festen Punkt zeigen?
-
08-07-2019 - |
Frage
Ich habe meine aktuelle Position über Corelocation fixiert. Jetzt möchte ich diese Orte erhalten (aus einer bestehenden Datenbank), die in den in der Nähe (etwa 100 Meter) sind es.
Wie soll ich anfangen?
Update: Hier ist eine Implementierung der Haversine Formel: http://www.jaimerios.com /? p = 39 (sehr nützlich)
Lösung
CLLocation
stellt ein Verfahren hierfür:
- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location
Sie werden die Breite und die Länge von jedem Ihrer Aufzeichnungen haben müssen, und dann sortiert nach der Entfernung von dieser Methode zurückgegeben.
Andere Tipps
Hochschul Geometrie FTW:
dist = sqrt(pow((x2-x1), 2) + pow((y2-y1), 2))
Eines der Dinge, die Sie tun können diese einfacher zu SQL Query zu machen, ist die Karte in „Kacheln“ aufgeteilt, dh eine 2 km x 2 km Fläche, so dass Sie bis auf die Kachel abfragen können, dann die Schleife durch die Ergebnisse mit dieser Formel.