4

あぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ

MKMapView の領域の設定に問題がありましたか? それは私とはうまくいきませんでした。

このコード:

-(void)setUserCenteredSpan:(MKCoordinateSpan)span{ // for this example, span = {0.5, 0.5}
    // Current region (just initialised)
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
    // New Region
MKCoordinateRegion region = MKCoordinateRegionMake([[[self userLocation] location] coordinate],
                                                   span);
NSLog(@"%f, %f - %f, %f",   region.center.latitude,
                            region.center.longitude, 
                            region.span.latitudeDelta, 
                            region.span.longitudeDelta);
    // Region saved in MKMapView
[self setRegion:region animated:NO];
NSLog(@"%f, %f - %f, %f",   self.region.center.latitude,
                            self.region.center.longitude, 
                            self.region.span.latitudeDelta, 
                            self.region.span.longitudeDelta);
}

そのログを返します:

30.145127, -40.078125 - 0.000000, 0.000000
0.000000, 0.000000 - 0.500000, 0.500000
0.000000, 0.000000 - 0.000000, 0.000000

なぜなのかご存知ですか ??!

どうもありがとう、あなたは私を自殺から救うことができます X(

マート

編集:もちろん、私はデバイス上にいて、インターネットに接続しています。

4

3 に答える 3

12

以前のログを正確に理解していませんが、エラーがどこにあったかはわかっています。

インスタンス化された MKMapView はフレームで初期化されていませんが、autoresizingMask が > 0 に設定されています。

setRegion メソッドが呼び出されたとき、ビューはまだフレーム化されていませんでした。領域値はビュー フレームに従って計算されていると思うので、これらの値は見つかりませんでした。

setRegion を実行する前にフレームを設定するだけで、正常に表示されます。

さよなら !

于 2009-09-16T08:29:22.787 に答える
1

あなたの最初のログは を使用しself.region.center.latitudeていますが、 への呼び出しのどこにも表示されませんMKCoordinateRegionMake。ログは、設定する地域を作成するために使用しているものは何でも、緯度/経度が 0/0 であることを示しています...

于 2009-09-15T15:39:47.877 に答える