1

通常、に注釈を付けるのに問題はありませんMKMapView。さまざまな場所にピンがあり、コードは自動的に中央に配置され、最大値と最小値に基づいてスパンを設定します。ただし、ポイントを追加すると、マップがズームアウトして表示される量があり、エッジにあるものが失われることに気づいています。ここにいくつかの写真があります:

MKMapViewを最初にロードしたときの外観は次のとおりです。


(出典:grapekeeper.com

パンすると、元のビューで失われたピンがさらに表示されます。


(出典:grapekeeper.com

そして、シミュレーターをつまむと、これはズームアウトされます。


(出典:grapekeeper.com

参考までに私のコードは次のとおりです。

double min = [[allLatitudes valueForKeyPath:@"@min.self"] doubleValue];
double max = [[allLatitudes valueForKeyPath:@"@max.self"] doubleValue];
double latSpan = max-min;
double minL = [[allLongitudes valueForKeyPath:@"@min.self"] doubleValue];
double maxL = [[allLongitudes valueForKeyPath:@"@max.self"] doubleValue];
double lonSpan = maxL-minL;
double avgLatitude = (max+min)/2;
double avgLongitude = (maxL+minL)/2;

overallRegion.center.latitude = avgLatitude;
overallRegion.center.longitude = avgLongitude;
overallRegion.span.latitudeDelta = latSpan;
overallRegion.span.longitudeDelta = lonSpan;

[self.mapView setRegion:overallRegion animated:YES];
4

2 に答える 2

2

答えは次のとおりです。マップビューを使用して全世界を表示するのに十分にズームアウトすることはできません。

于 2012-08-30T00:29:46.323 に答える
1

少し余分なスペースを追加するだけで、対角線を考慮すると役立つように見えます。ズームアウトしてすべての注釈を MapKit に合わせる最良の方法を参照してください。

これは、あなたが望むことを正確に行うための優れた方法を提供します。

于 2012-08-15T22:52:30.947 に答える