MapView:用户位置注释仅在iPad中为白色而不是蓝色脉冲

时间:2014-06-24 19:40:26

标签: ios iphone ipad mapping mkmapview

我一直在使用地图一段时间,所以我理解了显示用户位置需要发生的基本知识

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)

1 个答案:

答案 0 :(得分:3)

只有具有手机功能的iPad才能访问GPS,这是蓝色脉冲点在MKMapView中所代表的。每个iPhone都有GPS,这就是你看到该设备上的脉冲点的原因。

如果没有手机(3G / 4G / LTE),iPad只能使用WiFi进行三角测量位置,这对于导航来说还不够准确。