我一直在使用地图一段时间,所以我理解了显示用户位置需要发生的基本知识
map.showsUserLocation = YES; //also have the box checked in .xib
设置locationManager
- (CLLocationManager *)locationManager {
if (locationManager != nil) {
return locationManager;
}
locationManager = [[CLLocationManager alloc] init];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager setDelegate:self];
return locationManager;
}
我已经登录并看到我正在使用didUpdateUserLocation方法
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
if (!userLoc)
{
//NSLog(@"Mapping - didUpdateUserLocation");
userLoc = userLocation.location;
}
[locationManager startUpdatingLocation];
}
我还确保不删除用户的注释
if (![annotation isKindOfClass:[MKUserLocation class]])
...那么为什么蓝点在iPhone上显示并发出脉冲,但只在iPad上显示为白点? (两种设备都是iOS 7.1.1)
答案 0 :(得分:3)
只有具有手机功能的iPad才能访问GPS,这是蓝色脉冲点在MKMapView中所代表的。每个iPhone都有GPS,这就是你看到该设备上的脉冲点的原因。
如果没有手机(3G / 4G / LTE),iPad只能使用WiFi进行三角测量位置,这对于导航来说还不够准确。