0

問題があります。マップ データがいつマップ ビューにロードされるかを知る必要があります。次の方法を使用しました。

- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView;
{
    //Some custom code if Map is loaded
}

Apple がマップを変更し、メソッドが呼び出されるようになりましたが、マップはまだロード中です。

あなたはなにか考えはありますか?

4

1 に答える 1

0

私はそれを修正しました。最初に、カスタム コードを使用して関数を作成しました

-(void)customCode(id)object
{
    MKMapView* mapView = (MKMapView *)object;
    ...
}

関数mapViewDidFinishLoadingMapで設定しました

- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView;
{

    CGFloat systemVersion = [[[ UIDevice currentDevice ] systemVersion ] floatValue ];

    if( systemVersion < 6 )
    {
        [self updateMap:mapView];
    }
    else
    {
        [self myMapViewDidFinishLoaded:mapView];
    }
}

-(void)onMapTimed:(id)mapView
{
    [self performSelectorOnMainThread:@selector(customCode:) withObject:((NSTimer*)mapView).userInfo waitUntilDone:NO];
    _mapTimer = nil;
}

-(void)myMapViewDidFinishLoaded:(id)mapView;
{
    if(_mapTimer)
    {
        [_mapTimer invalidate];
        [_mapTimer release];
        _mapTimer = nil;
    }
    _mapTimer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(onMapTimed:) userInfo:mapView repeats:NO];

}

わたしにはできる。

于 2012-10-01T07:47:57.527 に答える