mapView を初期サイズ (私が決定したズーム レベル) で表示し、電話の位置をマップの中央に配置したいと考えています。これが完了したら、ユーザーがズーム レベルを変更し、心ゆくまでパンできるようにしたいと考えています。次回彼らがアプリに入ってきたら、前回と同じようにマップを再初期化したいと思います。
問題は、有効な位置情報を取得する前に地図サイズを設定しているように見えることです。
ベストプラクティスの初期化を行う例を教えてもらえますか?
mapView を初期サイズ (私が決定したズーム レベル) で表示し、電話の位置をマップの中央に配置したいと考えています。これが完了したら、ユーザーがズーム レベルを変更し、心ゆくまでパンできるようにしたいと考えています。次回彼らがアプリに入ってきたら、前回と同じようにマップを再初期化したいと思います。
問題は、有効な位置情報を取得する前に地図サイズを設定しているように見えることです。
ベストプラクティスの初期化を行う例を教えてもらえますか?
次の方法でこの問題を解決します。コードは自明だと思います
- (void)mapView:(MKMapView *)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation
{
if (!_userLocated &&
userLocation.coordinate.latitude != 0.0 &&
userLocation.coordinate.longitude != 0.0)
{
MKCoordinateRegion mapRegion;
mapRegion.center = mapView.userLocation.coordinate;
mapRegion.span = MKCoordinateSpanMake(0.04, 0.04);
[mapView setRegion:mapRegion animated: YES];
_userLocated = YES;
}
}
UIMapView
そして、デリゲートとを設定することを忘れないでくださいShows user location
。