我想根据诸如Google Maps这样的制图平台使用的标准[0-20]缩放级别在drawMapRect:zoomScale:inContext:内编写一些绘图规则,但是我似乎找不到找到将MKZoomScale转换为该比例的公式。有没有人?

最佳答案

在MKMapView上尝试此类别

@interface MKMapView (Additions)
- (double)zoomLevel;
@end


@implementation MKMapView (Additions)

- (double)zoomLevel {
    double totalTilesAtMaxZoom = MKMapSizeWorld.width / 256.0;
    NSInteger zoomLevelAtMaxZoom = log2(totalTilesAtMaxZoom);

    return MAX(0, zoomLevelAtMaxZoom + log2f(self.zoomScale));
}

@end

关于ios - 如何将MKZoomScale转换为标准[0-20]缩放级别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38335049/

10-10 15:32