私はMKMapViewを使用していますが、CLLocationManagerを使用して最後の既知の場所で地図を開始しました。問題はiPhoneとLocation Servicesが、バッテリの使用に関する懸念が高まっています。CLLocationManagerが停止/解放していない
だから、これを適切に解放するのを手伝ってください。
CLLocationManager * MANG = [[CLLocationManager alloc] init];
[MANG startMonitoringSignificantLocationChanges];
if(MANG.location){
[mapa setCenterCoordinate:MANG.location.coordinate animated:NO];
}
[MANG stopMonitoringSignificantLocationChanges];
[MANG stopUpdatingLocation];
[MANG release];
2つのこと... 1)まだ位置情報サービスを使用していますか?通常は、場所や探している変更があるという通知を受け取ったら、デリゲートメソッドの1つでstopメソッドを呼び出します。今すぐあなたは始まりと終わりの間に十分に長く待っていません。 2)コード内のどこでも[map setShowsUserLocation:YES]またはmap.showsUserLocation = YESを呼び出していますか?その場合は、値をnoに設定するまでロケーションサービスを有効にします。 – sho
私はちょうどその時点で地図を初期化するために、最新の既知の場所を取得する必要があります(新規であるかどうかは気にしません)。その後、はい、私はマップを使用しています。 showsUserLocationを使用していますが、使用しなくなったらNOに設定します。 –
あなたのマップビューで私の場所がチェックされていますか?それはあなたが場所を追跡していることを示すロケーションマネージャへの呼び出しに取って代わるものです。 –