我们需要在用户时获得当前选择的MKMapView缩放级别 使用Mapkit在Google地图上放大或缩小。
我们尝试过的解决方案是在模拟器上正常运行但不是真实的 设备(具有iOS 3.0.1的iPhone 3GS)。我们需要让它在iOS 3+上运行 (包括iOS 4)
以下是我们用于获取缩放级别的代码: -
在放大/缩小时,Mapkit会调用此委托: -
(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
反过来调用我们的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)));
}
此代码取自(请参阅获取缩放级别示例发布的第一条评论 这个博客): -
http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/
答案 0 :(得分:5)
https://github.com/jdp-global/MKMapViewZoom
-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{
int zoomLevel = [mapView zoomLevel];
}