用户位置奇怪的问题



我完全了解Maps的工作原理,但我陷入了一个非常奇怪的问题。

一旦打开我的Map Controller,我的默认蓝色就会显示出来(MKUserLocation),但当我加载自定义引脚(IVMyLocation,Annotation类)时,默认引脚就会消失。

我正在正确管理删除自定义引脚,这样默认引脚就不会像一样消失

for (id<MKAnnotation> annotation in _mapView.annotations) {
    if([annotation isKindOfClass:[IVMyLocation class]])
        [_mapView removeAnnotation:annotation];
}

但我的默认密码仍在消失。它只是第一次出现。

注意:它在Xcode4模拟器中工作良好,仅在设备中消失

您应该为mapView:viewForAnnotation: 中的MKUserLocation返回nil

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation
    if ([annotation isKindOfClass:[MKUserLocation class]])
        return nil;
    // etc

这允许显示默认的蓝点。

减少对象数量。帮助了我。

相关内容

  • 没有找到相关文章

最新更新