MKMapView
について投稿された多くのものとは反対の問題があるようです。ズームして現在の位置を表示することができないのではなく、に停止するようにすることはできません。そうすることです。ここでは何が起こるかです:私はアプリを起動MKMapViewが継続的にズームしてユーザの位置に戻すのを防ぐ
- MKMapViewは
- は、私は私の指数秒後
- 、MKMapViewを使用して地図上の距離ズームアウトや青い点で私の場所を示してい突然
MKMapView
はを使用する方法を知っているので、私は、私のCLLocationManager
(stopUpdatingLocation
への影響を語っていない試みた再び
私の現在の位置にセンターに戻って拡大表示されます)、私はMKMapView
にsetShowsUserLocation:NO
と言ってみました(青い点はまったく表示されませんが、これは私が望むものではありません)。私もCLLocationManager
(効果なし)を削除しようとしました。これを引き起こしていると私はどのようにそれを停止するのですか?
はい、ロケーションマネージャの精度と距離を-loadView
に設定しています。
-mapViewDidFinishLoadingMap
:を実装していません。
- (void)mapView:(MKMapView *)mv didUpdateUserLocation:(MKUserLocation *)u
{
CLLocationCoordinate2D loc = [u coordinate];
// Display the region 500 meters square around the current location
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(loc, 500, 500);
[mv setRegion:region animated:YES];
}
ここで、センタリングは行っていますか? 'mapView:didUpdateUserLocation:'で?あなたはそのコードを投稿できますか? – Anna
didUpdateUserLocationメソッドは、ユーザーの場所が変更されるか、新しい読み取り値が取得されるたびに呼び出されます。メソッドでチェック/設定できるbool ivarを追加すると、u.location.horizontalAccuracyまたはu.location.timestampに基づいて条件付きでセンタリングすることができるように、1回だけセンタリングが行われます。 – Anna
これは意味がありますが、私は今、-mapView:didUpdateUserLocationを持っています:u.location.horizontalAccuracyがlocationManager.desiredAccuracyであれば条件付きでセンタリングしており、まだ起きています。条件を逆にすると、私は初期ズームを取得しません。 – DJHoward