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













