Ich habe die Programmierung eine App, die MapKit und die SDK 3.0 verwenden. Alles funktioniert allright mit Ausnahme eines Detail. Ich habe bemerkt, dass, wenn die userlocation Anzeige ich verschiedene Benutzerpositionen auf der Karte abhängig von dem aktuellen Netzwerk erhalten. Ich habe über dieses Problem lesen und zu verstehen, dass es üblich ist? In meinem WLAN ist die Benutzerposition korrekt angezeigt. Wenn das Netz 3G mit (T-Mobile) ist die Position von meiner aktuellen Position etwa 100 Meter entfernt. Ich verstehe, das hat mit dem celluar Telefonnetz zu tun, mittels Triangulation und in WLAN ist das GPS oder WiFi-Hotspot verwendet. Also, auf meine Frage. Gibt es eine Möglichkeit, um dies zu realisieren? Meine App zeigt Positionen in einer Stadt und auch die Entfernung zu diesen Positionen. Es ist sehr offensichtlich und auch missleading, wenn die Lage wegen der kurzen Entfernungen falsch ist. Gibt es eine Möglichkeit (in Code) festlegen, welche Methode für das Erhalten des Benutzer Postion verwendet werden? Ich habe alle anderen Apps auf meinem iPhone getestet Karten und das Problem mit Hilfe scheinen das gleiche von allen von ihnen zu sein. (Wenn jemand will, meine App testen, ist es im App Store kostenlos unter car2go auch andere Kommentare sind natürlich interessant) Vielen Dank im Voraus! -Schleife-
GPS oder Triangulierung, wenn der Benutzer Position auf der Karte einstellen?
quelle vom benutzer loop
In anderen Sprachen...
Core Location bietet Informationen über die vertikale und horizontale Genauigkeit der Position, die sie berichtet. Man sollte diese Genauigkeit verwenden, um den Benutzer zu melden, wenn der Ort suspekt ist. Google Maps tut dies, indem die Größe des blauen Kreis um die Standortmarkierung zu erhöhen. Es gibt auch andere Möglichkeiten, um den Benutzer anzuzeigen, dass der Ort suspekt ist, Alarm-Boxen, nicht die Position zeigt, wenn es außerhalb von einer vorbestimmten Genauigkeit fällt, usw.
Vielleicht können Sie Corelocation direkt verwenden. CLLocationManagergibt Ihnen CLLocationObjekte als ihre Genauigkeit umfassen. Wenn Sie eine Genauigkeit von weniger als 50 Metern erhalten, ist es die Lage kam wahrscheinlich von GPS.
Verwenden Sie eine alternative Quelle für Ihren Standort? Tragbare GPS-Geräte würden den Trick.
Die wirkliche Frage ist, wie können Sie die Daten korrigieren, indem die 3G-Triangulation angegeben werden. Ich frage mich, wenn Sie ein Differential tun können für die 3G-Standort Fehler zu korrigieren.
1) In einer Stadt, kalibrieren, um die 3G-Standort Fehler durch die Stadt Plotten. Dies könnte durch die 3G-Netze jederzeit korrigiert werden, so dass Sie eine Möglichkeit haben müßten, um zu überprüfen und neu zu kalibrieren.
2) Kalibrieren Sie den Standort des 3G-Netzes einen bekannten Standort mit - ein 3G-Standort zusammen mit einem GPS-Position. Nehmen Sie das als Differential, die auf andere 3G-Standorten eingesetzt werden kann. Dies setzt voraus, eine konsistente in der Triangulation Berechnung gegenüber, die wahrscheinlich nicht die Realität.
3) Warten für die 3G-Netze, es zu beheben und nichts tun in der Zwischenzeit.
4) Geben Sie die 3G-Netzbetreiber mit Fehlerinformationen in ihrer Triangulation und sehen, ob es eine Priorität für sie ist.
Ich kann mir keine andere praktikable Möglichkeiten ...