получить местоположение на iphone ТОЛЬКО от GPS - не сети Wi-Fi - PullRequest
7 голосов
/ 23 июня 2010

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

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

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

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

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

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

Ответы [ 6 ]

5 голосов
/ 24 июня 2010

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

Нашел яблочную документацию, в которой говорится, что [location verticalAccuracy] ТРЕБУЕТ устройство с gps.

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

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

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

2 голосов
/ 23 июня 2010

Кроме того, чтобы попросить пользователя отключить его Wi-Fi, нет задокументированного способа заставить диспетчер местоположения использовать GPS через Wi-Fi. Это может быть возможно с частным API, но это также приведет к тому, что вы будете отклонены из App Store.

1 голос
/ 06 ноября 2010

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

1 голос
/ 23 июня 2010

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

0 голосов
/ 27 июля 2010

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

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

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

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

0 голосов
/ 23 июня 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...