2

私はMKMapViewを使用しており、次のように初期化しています。

homeLocation.latitude = 42.033126;
homeLocation.longitude = -70.168621;

[self.mapView setCenterCoordinate:homeLocation animated:NO];

MKCoordinateRegion viewRegion;

viewRegion.center = homeLocation;
viewRegion.span = MKCoordinateSpanMake(1.7, 1.7);

[self.mapView setRegion:[self.mapView regionThatFits:viewRegion] animated:NO];

これが私のアプリです

ここに画像の説明を入力してください

それは問題ありませんが、私のアプリを除いて、もう少しズームアウトする必要があります。しかし、私がこれを試してみると:

viewRegion.span = MKCoordinateSpanMake(1.8, 1.8);   // use span of 1.8, not 1.7

私はこれを手に入れます:

ここに画像の説明を入力してください

ズームアウトされています。MKMapViewの領域を見ると、latitudeDeltai3.54981とlongitudeDeltaは3.51562です。

スパンを1.7から3.5の間の値に設定するにはどうすればよいですか?この特定のアプリケーションでは、2.25前後をヒットしたいと思います。

注:mapviewピンチは、希望するスパンにうまくズームします。

4

2 に答える 2

1

MKCoordinateSpanMake は度を使用し、1 度は約 69 マイルです。より細かい設定が必要な場合は、代わりに MKCoordinateRegionMakeWithDistance を使用してください。

CLLocationCoordinate2D homeLocation;
homeLocation.latitude = 42.033126;
homeLocation.longitude = -70.168621;

[self.mapView setCenterCoordinate:homeLocation animated:NO];

 MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance( homeLocation, 200000, 200000);
// 200000 meter is approximately 1.8 degree
[self.mapView setRegion:[self.mapView regionThatFits:viewRegion] animated:NO];
于 2013-05-03T23:10:41.140 に答える
0

デバイスで試しましたか?シミュレーターよりもデバイスのズーム レベルを細かく制御できる場合があります。

于 2013-02-07T22:32:51.047 に答える