Механизм геолокации iPhone / iPodTouch без GPS предоставляется Skyhook Wireless . Они проехали большинство дорог в большинстве городов с помощью своих фургонов с географическим местоположением, чтобы построить точки Wi-Fi по GPS, и именно эти данные iPhone использует для исправления.
Интересно также отметить, что Skyhook использует iPhone для «самоизлечения» своей базы данных точек доступа. Если они получают точку, которой нет в их базе данных, или которая считается другой, они уточняют данные.
Я несколько раз говорил об этой технологии с Кейт Имбах из Skyhook, и я удивлен, что они не используют GPS в сочетании с триангуляцией WiFi для улучшения картографических данных, но, похоже, это не дело.
Тем не менее, специфические методы вашего вопроса - это отдельная история: iPhone SDK абстрагирует все это от вас.
Вам просто нужно импортировать инфраструктуру CoreLocation в ваш проект, принять протокол CLLocationManagerDelegate
Затем создайте экземпляр менеджера местоположений
CLLocationManager * LM = [[CLLocationManager alloc] init];
[[self locationManager] setDelegate:self];
[[self locationManager] setDesiredAccuracy:kCLLocationAccuracyBest];
[[self locationManager] startUpdatingLocation];
Затем вы можете запросить информацию о вашем местонахождении или получить обновления для
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
NSLog(@"Location changed!");
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
}
Это должно помочь тебе!