Вы правы!
Для получения информации о широте и долготе устройства используют оборудование GPS. Это делается без подключения к интернету . Вам нужен сигнал GPS! Однако, если вы находитесь внутри зданий, где у вас часто нет хороших сигналов GPS, iPhone пытается найти устройство с помощью окружающих сетей 3G и WIFI.
Если вы хотите отобразить эти координаты, например, на картах Google, вам необходимо подключение к Интернету, чтобы загрузить карты в соответствии с полученными вами координатами. Кроме того, для получения информации, такой как адрес, улица и т. Д., Устройства должны иметь доступ к Интернету для поиска в базах данных такого рода информации.
ПРИМЕР для iOS:
Импорт кулака #import<CoreLocation/CoreLocation.h>
в ваш .h файл.
Тогда в основном вам нужен CLLocationManager
.
- (IBAction)startSearchingLocation:(id)sender
{
//locationManager is ivar of CLLocationManager
self.locationManager = [[CLLocationManager alloc] init];
//release it when you stop the location manager!
// make self the delegate of the location manager
[locationManager setDelegate:self];
//Note that this settings will have a huge impact on battery life!
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
//And finally start the location manager.
[locationManager startUpdatingLocation];
}
Менеджер местоположений начнет отправлять информацию о местоположении методу делегата
называется:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
Рекомендуется отбрасывать самые первые результаты, потому что это могут быть старые кэшированные данные. Также проверьте точность, чтобы убедиться, что вы получите хорошие результаты здесь.
ЛИТЕРАТУРА:
Для получения дополнительной информации проверьте это и это документация.
Также взгляните на пример кода Apple с именем Locations
.