iOS Dev: смещение карты в Китае - PullRequest
0 голосов
/ 31 августа 2011

Я сделал очень простое приложение, в котором я могу бросить булавку прямо в то место, где я стою (просто практика для начинающих).Но я нашел проблему.

Клянусь, я не двигался, и устройство не думал, что я двигался.И я напрямую использую геолокацию для установки булавки.но булавка и синяя точка текущего местоположения находятся на расстоянии сотен метров друг от друга.

(Кстати, синяя точка обозначала мое реальное местоположение в то время.)

Это известная проблема Google Map на iOS в Китае.Отложите в сторону сложную проблему так называемой национальной безопасности, где мне нужна помощь: что нам следует делать как разработчику .Технически, есть ли в программировании способ выяснить, что именно является смещением, и исправить его?

У кого-нибудь есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 июня 2012

Я провел некоторое исследование по смещению, но пока не получил удовлетворительного результата.Добавленное смещение является детерминированным, то есть с учетом местоположения отклоненное местоположение является фиксированным.Поэтому моя цель - получить функцию отклонения f (p) = p ', где и p, и p' являются 2D точками.Вы можете проверить здесь , если вы заинтересованы.

0 голосов
/ 31 августа 2011

В какое время вы установили булавку? iOS имеет до трех источников данных о местоположении (триангуляция вышек сотовой связи, сниффинг Wi-Fi и GPS) и будет держать вас в курсе самых точных данных. Так часто вы получаете не очень точное местоположение, затем более точное местоположение, а затем еще более точное местоположение.

Если у вас открыт MKMapView, то вы можете сделать наблюдение значения ключа в свойстве userLocation вместо запуска какого-либо CLLocationManager. Таким образом, вы всегда будете в курсе того, что выберет вид карты, в качестве текущего местоположения, что означает, что вам не нужно пытаться сопоставить свою логику с ее.

...