你是对的! 要获取设备使用GPS硬件的经度和纬度信息。 这是没有互联网连接。你需要的是一个GPS信号!但是,如果您在建筑物内通常没有良好的GPS信号,则iPhone会尝试使用周围的3G和WIFI网络定位设备。
如果你想显示那个坐标例如谷歌地图你需要互联网连接来加载地图根据你得到的坐标。此外,为了检索地址,街道等信息,设备需要访问互联网以搜索数据库中的这种信息。
例为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
我们推荐抛出的第一个结果了,因为他们可能是旧的缓存数据。同时检查准确性,确保你在这里获得好的结果。
参考:
欲了解更多信息请查看this和this文档。
另请参阅苹果示例代码Locations
。
您应该记住iOS(和大多数Android手机)使用A-GPS(辅助GPS),实际上它需要网络连接。没有网络连接,可能需要一些时间以合理的准确度返回一个位置。 – lxt
嗯..如果我的应用需要时间来收集位置数据 - 这可能会关闭我的用户。我有兴趣知道有多少时差,如果我们可以发送到后台工作或没有? –