gpt4 book ai didi

iphone - 如何找到 MKMapView 当前的缩放级别?

转载 作者:行者123 更新时间:2023-12-03 18:16:00 24 4
gpt4 key购买 nike

我想知道iphone编程中MKMapView当前的缩放级别,我该怎么做?实际上,我有一个应用程序,它需要几个参数(从 MKMapView 中心到角的半径)返回商店详细信息,当我在 MKMapView 上时,半径非常高,当半径较小时它会发生变化,所以我想知道缩放级别并据此设置我的网络服务,如何获取当前 MKMapView 可见区域的缩放级别?

最佳答案

我为它创建了非常简单的辅助子类:

#define MERCATOR_RADIUS 85445659.44705395
#define MAX_GOOGLE_LEVELS 20

@interface MKMapView (ZoomLevel)
- (double)getZoomLevel;
@end

@implementation MKMapView (ZoomLevel)

- (double)getZoomLevel
{
CLLocationDegrees longitudeDelta = self.region.span.longitudeDelta;
CGFloat mapWidthInPixels = self.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;
}

@end

关于iphone - 如何找到 MKMapView 当前的缩放级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7594827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com