当用户使用以下任一方式时,我们需要获取 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/ http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/
https://github.com/jdp-global/MKMapViewZoom https://github.com/jdp-global/MKMapViewZoom
-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{
int zoomLevel = [mapView zoomLevel];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)