iPhone:获取谷歌地图的缩放级别

Doc*_*Doc 2 iphone mapkit ios

当用户使用Mapkit在Google地图上放大或缩小时,我们需要获得当前选定的MKMapView缩放级别.

我们尝试过的解决方案是在模拟器上运行良好但在真实设备上运行(iPhone 3GS有iOS 3.0.1).我们需要在iOS 3+(包括iOS 4)上运行它

以下是我们用于获取缩放级别的代码: -

在放大/缩小时,Mapkit会调用此委托: -

(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)

它反过来调用我们的Mapzoomlevel函数: -

#define MERCATOR_RADIUS 85445659.44705395

-(float) Mapzoomlevel {
  return 21 - round(log2(_mapView.region.span.longitudeDelta *
    MERCATOR_RADIUS * M_PI / (180.0 * _mapView.bounds.size.width)));
}
Run Code Online (Sandbox Code Playgroud)

此代码取自(请参阅此博客上发布的缩放级别示例第一条评论): -

http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/

joh*_*ope 5

https://github.com/jdp-global/MKMapViewZoom

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{
    int zoomLevel = [mapView zoomLevel];

}
Run Code Online (Sandbox Code Playgroud)