アプリケーションでマップビューを使用しているときに、MKMapKitデリゲートメソッド'mapView:regionDidChange'が呼び出されないことがあります。マップをドラッグしたときにのみ発生します。しかし、ズームインまたはズームアウトすると、完全に機能します。そのため、マップのドラッグ中にマップに新しい注釈を配置することに関連する問題が発生します。私はこのコードをmapView:regionDidChange:
int j=0;
-(void) mapView:(MKMapView *)mapsView regionDidChangeAnimated:(BOOL)animated{
zoomLevel = self.mapView.region.span.latitudeDelta;
if (![appDelegate internetConnected]){
return;
}
if (appDelegate.isMapViewRegionChanged) {
if (j==0) {
j++;
return;
}else{
j=0;
appDelegate.isMapViewRegionChanged = FALSE;
return;
}
}
[self callGetMapViewWithObject:nil];
}
/*
first boolean is to check Internet connection.
[appDelegate internetConnected]
Second condition is to return when we navigate from any view controller too map View controller.
appDelegate.isMapViewRegionChanged
Third is a method to place new annotations.
[self callGetMapViewWithObject:nil];
*/
すべての条件とブール値を確認しましたが、コーディングがこのバグの理由ではありません。地域に関連している可能性があります変更方法。
したがって、マップでアプリを使用している間、20%の時間はIdealのように動作します(メソッドは呼び出されません)。
誰かがこれで私を助けることができますか?
前もって感謝します。