1
如何計算MKMapView的當前縮放比例?決定mapview的當前縮放比例
如何計算MKMapView的當前縮放比例?決定mapview的當前縮放比例
使用下面的代碼:
#define MERCATOR_RADIUS 85445659.44705395
#define MAX_GOOGLE_LEVELS 20
- (double)getZoomLevel {
CLLocationDegrees longitudeDelta = self.mapView.region.span.longitudeDelta;
CGFloat mapWidthInPixels = self.mapView.bounds.size.width;
double zoomScale = longitudeDelta * MERCATOR_RADIUS * M_PI/(180.0 * mapWidthInPixels);
double zoomer = MAX_GOOGLE_LEVELS - log2(zoomScale);
if (zoomer < 0) zoomer = 0;
// zoomer = round(zoomer);
return zoomer;
}
的getZoomLevel
方法的返回值將是mapView
屬性的當前縮放級別。
檢查此問題http://stackoverflow.com/questions/1166444/mkmapview-zoom-and-region - 可能會幫助 – Vladimir 2011-05-11 15:26:44
我實際上使用TroyBrant的MKMapView類別來獲取zoomLevel,但我也需要zoomScale。 – 2011-05-11 15:37:28