0

我对地图的工作原理有所有概念,但我陷入了一个非常奇怪的问题。

打开我的地图控制器后,我的默认蓝色可见(MKUserLocation),但是当我加载自定义引脚(IVMyLocation,注释类)时,默认引脚消失。

我正在正确管理自定义引脚的删除,以便默认引脚不应该像这样消失

for (id<MKAnnotation> annotation in _mapView.annotations) {

    if([annotation isKindOfClass:[IVMyLocation class]])

        [_mapView removeAnnotation:annotation];
}

但我的默认引脚仍然消失。它只是第一次可见。

注意:它在 Xcode4 模拟器中工作正常,它只在设备中消失

4

2 回答 2

0

nil应该回来MKUserLocationmapView:viewForAnnotation:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation

    if ([annotation isKindOfClass:[MKUserLocation class]])
        return nil;
    // etc

这允许显示默认的蓝点。

于 2012-07-17T16:03:13.427 回答
0

减少您的对象数量。对我有帮助。

于 2013-07-23T09:00:17.587 回答