0

MKMapView があり、それを使用してユーザーの現在の場所を表示します。アプリに最初にロードすると、正常に動作します。しかし、ホームボタンを押してアプリをバックグラウンドにしてバックグラウンドからコールバックすると、マップはユーザーの場所を見つけることができないことを示します。

MKMapView がユーザーの位置を検索するのに時間がかかり、バックグラウンドからコールバックすると、位置情報サービスをロードするのに十分な時間がないと考えていましたか?

iOS5 SDK、xCode 4.3を使用。

4

1 に答える 1

1

私があなたの質問を正しく理解していれば、あなたの問題は、アプリが再開する (アクティブになる) ときに、mapView.userLocationnil が返されることです。私はこれをテストしていませんが、mapView がユーザーを再配置するのに時間がかかるためだと思われます。代わりに適切なデリゲート メソッドにロジックを追加することで、これを回避できます。これは- (void) mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation、メモリが適切に機能する場合です (ただし、それを確認することをお勧めします)。

編集: 動作がシミュレーターと異なる可能性があるため、デバイスで位置関連のコードを必ずテストしてください。

于 2012-04-07T09:02:06.057 に答える