我是iphone app开发的新手。我想在不使用GPS但仅使用Cell Tower信息和Wifi数据的情况下捕获位置信息。为了实现这一点,我使用CLLocationManager
来捕获位置信息,
self.locationManager = [[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startMonitoringSignificantLocationChanges];
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
CLLocation *newLocation = [locations lastObject];
float latitude = newLocation.coordinate.latitude;
float longitude = newLocation.coordinate.longitude;
NSTimeInterval timeStamp = [[NSDate date] timeIntervalSince1970];
// NSTimeInterval is defined as double
NSNumber *timeStampObj = [NSNumber numberWithDouble: timeStamp];
NSLog(@"latitude %f and longitude %f", latitude, longitude );
NSLog(@"%d", [timeStampObj integerValue]);
NSMutableArray *numArray = [[NSMutableArray alloc]initWithObjects:[NSNumber numberWithDouble:latitude],[NSNumber numberWithDouble:longitude], timeStampObj, nil];
}
当我在启动应用程序时使用上述代码时,我看到应用程序请求访问位置服务。一旦这被接受,我不确定应用程序是否正在使用GPS获取位置信息,因为我看到一个小箭头指出,这似乎是用GPS来获取位置信息,这不是我的意思要求。我希望仅使用WiFi和Cell Tower信息捕获位置信息。
此位置信息的更新频率也是如此,因为有一个位置的初始更新,即使在电话连续移动后我也看不到位置被修改。
答案 0 :(得分:0)
如果您使用此:
[locationManager startMonitoringSignificantLocationChanges];
当发生重大变化时(例如,当您从电话塔移动到其他电话塔时),您只能获得GPS上传。
您无法选择是否要使用代码中的GPS或塔。