2

地図付きのアプリケーションがあり、更新されたときに現在の場所にズームしたいと思います。

デリゲートメソッドを使用-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocationして、ユーザーの場所がいつ更新されたかを確認します。

現在、シミュレーターメソッドが適切に呼び出されています。しかし、デバイス(iphone 2g)でテストすると、場所は地図上で更新されますが、「didUpdateUserLocation」メソッドはまったく呼び出されません。これは、デリゲートメソッド「mapViewWillStartLocatingUser」の場合と同じです。

アプリの現在地の取得を許可するかどうかを尋ねられ、現在地の表示が開始されますが、

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
NSLog(@"didUpdateUserLocation = '%@'", userLocation);   

}

呼び出されることはありません。

4

2 に答える 2

2

リファレンスには、このデリゲートメソッドがiOS4.0以降で使用可能であることが記載されています。お使いの携帯電話がiOS3.1である間、シミュレータはおそらくiOS4.0を実行しています。

私は同じ問題を抱えていて、まだ解決策を探しています。おそらく、CLメソッドに直接アクセスすることが役立つでしょう。

于 2010-07-25T20:27:13.953 に答える
0

このMap.showsUserLocation=YESを試してください。

于 2010-08-03T06:40:19.560 に答える