2

アプリの起動時にMKMapViewを読み込んでいるiOSアプリがあります。「MKCoordinateRegion」の中心をユーザーの緯度/経度に設定したいと思います。ただし、CLLocation Managerインスタンスは、MKMapViewがロードされるまでユーザーの場所を更新しません。

今のところ、地図の中心座標をアプリにハードコーディングしています。しかし、私は誰かがこの状況に対処するためのより良い方法を提案できるかどうか疑問に思いました。

私は2つのアプローチを考えることができますが、私はどちらのアプローチも好きではありません。

1)アクティビティインジケーターを使用してMKMapViewを起動するストール2)ハードコードされた場所でMKMapviewを起動し、ユーザーの場所が利用可能になったらすぐに、その場所を中心にマップビュー領域をアニメーション化します

助言がありますか?

4

3 に答える 3

1

バックグラウンドに移動するとき、またはアプリを閉じるときに、最後に認識された緯度/経度を保存します。
開始中心のマップビューで、最後の既知の位置に移動します。
ロケーションマネージャが更新されたロケーションを送信したらすぐに、マップセンターを更新します。

于 2013-02-14T19:49:58.903 に答える
1

userTrackingModeのプロパティをに設定しmapviewますMKUserTrackingModeFollow。あなたはこれのためにロケーションマネージャーを必要としません、mapViewあなたのためにそれをします。後でマップを再配置する場合は、プロパティをに設定し、マップMKUserTrackingModeNoneを再配置します。

于 2013-02-14T20:08:46.760 に答える
0

Appleがしていることをしなさい。非常にズームアウトして開始し、画面に「位置情報をスキャンしています」というメッセージを表示して、位置情報が利用可能になったらズームインします。

于 2013-02-14T20:02:24.663 に答える