0

私はマップがどのように機能するかについてのすべての概念を持っていますが、非常に奇妙な問題で立ち往生しています。

Map Controller を開くとすぐに、デフォルトの青 (MKUserLocation) が表示されますが、カスタム ピン (IVMyLocation、Annotation クラス) をロードすると、デフォルトのピンが消えます。

デフォルトのピンが消えないように、カスタムピンの削除を適切に管理しています

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 に答える