通常、に注釈を付けるのに問題はありません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];