получите местоположение на iphone ONLY от GPS - не сеть Wi-Fi

я создаю приложение, которое использует местоположение -

все работает без помех кроме одной вещи -

когда я прихожу домой свои подключения iPhone к моей локальной сети Wi-Fi, и вместо того, чтобы получить мое местоположение с помощью gps в телефоне она пытается получить его путем выяснения, где моя сеть Wi-Fi подключена с - если я поворачиваюсь, мой Wi-Fi от нее сохраняет точную точку местоположения -

как только мой телефон подключен к моей сети Wi-Fi, это начинает говорить мне, что мое местоположение в нескольких км/мили от моей реальной точки.

я хотел бы, чтобы мое приложение НЕ использовало сеть Wi-Fi для попытки, получают мое местоположение -

есть ли способ, которым я могу - a. говорить, была ли точка местоположения получена из GPS, таким образом, я могу проигнорировать местоположения, полученные из сети Wi-Fi. b. службы определения местоположения остановки, перепрыгивающие к Wi-Fi для местоположения

7
задан kapa 4 May 2012 в 17:20
поделиться

5 ответов

Ну я тут немного поигрался

Нашел документацию apple, в которой говорится, что [location verticalAccuracy] REQUIRES a device with gps.

Поэтому я вставил этот код (сокращенный) и, основываясь на ограниченном тестировании, которое я провел, похоже, что он делает то, что я хочу:

if (([location horizontalAccuracy] > 0) && ([location verticalAccuracy] > 0)){
     //report location here
}

Спасибо всем за ваши ответы.

5
ответ дан 7 December 2019 в 14:29
поделиться

Кроме как попросить пользователя отключить Wifi, нет никакого документированного способа заставить менеджер местоположения использовать GPS через Wifi. Возможно, это возможно с помощью частного API, но в этом случае вам откажут в App Store.

2
ответ дан 7 December 2019 в 14:29
поделиться

Вы можете установить cLLocationAccuracy.desiredAccuracy = kCLLocationAccuracyBest и посмотреть, поможет ли это. Он должен попытаться ограничить использование GPS, однако это не является 100% гарантией.

1
ответ дан 7 December 2019 в 14:29
поделиться

A-GPS = GPS + триангуляция сотовых вышек. WI-FI позиционирование отсутствует.

-5
ответ дан 7 December 2019 в 14:29
поделиться

iPhone получает неточные координаты GPS не только через Wi-Fi или мобильные сети, но также и в реальных координатах с уровнем точности> 100 метров.

Я использую следующую строку: if (newLocation.horizontalAccuracy <0 || newLocation.horizontalAccuracy> 50) return;

в качестве первой строки в didUpdateToLocation , чтобы отфильтровать неточные координаты.

«Возраст местоположения», то есть NSTimeInterval locationAge = [locTimestamp timeIntervalSinceNow]; НЕ используется для избавления от кешированных координат.

0
ответ дан 7 December 2019 в 14:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: