GPS или триангуляции при настройке положения пользователя на карте?

голоса
1

Я программирую приложение с помощью MapKit и SDK 3.0. Все работает Allright за исключением одной детали. Я заметил, что при отображении userlocation я получаю разные позиции пользователя на карте зависит от текущей сети. Я прочитал об этой проблеме и понять, что общее? В моей WLAN позиция пользователя отображается правильно. При использовании в сети 3G (T-Mobile) положение около 100 метров от моего фактического положения. Я понимаю, что это связанно с телефонной сетью клеточного использованием триангуляции и WLAN является GPS или Wi-Fi точка доступа используется. Таким образом, на мой вопрос. Есть ли способ обойти это? Мое приложение показывает позиции в городе, а также расстояние до этих позиций. Совершенно очевидно, а также missleading если позиция является ложной из-за короткие расстояния. Есть ли способ (в коде), чтобы установить, какой метод используется для получения пользовательского постион? Я проверил все другие приложения на моем iPhone, используя карты и проблемы кажутся же все из них. (Если кто-то хочет, чтобы проверить мое приложение находится в магазине приложений бесплатно под car2go также другие комментарии, конечно, интересно) Заранее спасибо! -loop-

Задан 25/08/2009 в 13:14
источник пользователем
На других языках...                            


3 ответов

голоса
1

Core Location предоставляет информацию о вертикальной и горизонтальной точности местоположения, что она отчетности. Следует использовать эту точность, чтобы сообщить пользователю, если место является подозреваемым. Google карта делает это путем увеличения размера синего круга вокруг местоположения маркеров. Есть и другие способы, чтобы указать пользователю, что местоположение является подозреваемым, предупреждения коробки, не показывая место, если она выходит за пределы некоторой заданной точности и т.д.

См: http://developer.apple.com/iphone/library/documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html#//apple_ref/occ/instp/CLLocation/horizontalAccuracy

Ответил 25/08/2009 в 14:07
источник пользователем

голоса
0

Может быть , вы можете использовать CoreLocation непосредственно. CLLocationManagerдает CLLocationобъекты , чем включать их точность. Если вы получаете точность ниже 50 метров, это место , вероятно , пришло от GPS.

Ответил 25/08/2009 в 13:59
источник пользователем

голоса
0

Используйте альтернативный источник для вашего местоположения? Переносные блоки GPS будет делать трюк.

Реальный вопрос заключается в том, как вы можете исправить данные уточняются с помощью триангуляции 3G. Интересно, если вы можете сделать дифференциал для коррекции ошибок местоположения в 3G в.

1) В данном городе, откалибровать ошибки местоположения 3G откладывая города. Это может быть исправлено с помощью сетей 3G в любое время, так что вы должны были бы иметь способ проверки и повторную калибровку.

2) Калибровка местоположения сети 3G, используя известное местоположение - местоположение 3G наряду с местоположением GPS. Возьмите это как дифференциал, который может быть применен к другим местам 3G. Это предполагает последовательное смещение в расчете триангуляции, который, вероятно, не является реальностью.

3) Подождите, пока сети 3G, чтобы исправить это, и ничего не делать в это время.

4) Обеспечение поставщика 3G сети с информацией об ошибках в их триангуляции и посмотреть, если это для них приоритетом.

Я не могу думать о каких-либо других жизнеспособных вариантов ...

Ответил 25/08/2009 в 13:24
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more