iOS:如何知道GMSMapView的缩放级别

iOS:如何知道GMSMapView的缩放级别,ios,objective-c,google-maps,zooming,gmsmapview,Ios,Objective C,Google Maps,Zooming,Gmsmapview,您好,我想获取谷歌地图视图的当前缩放级别,就像要检查的条件一样。 比如说, if(mapView.zoom==18.0) { //code goes here.. } 如何获得它?您可以使用下面的代码 #define MERCATOR_RADIUS 85445659.44705395 #define MAX_GOOGLE_LEVELS 20 @interface MKMapView (ZoomLevel) - (double)getZoomLevel; @end @implementat

您好,我想获取
谷歌地图视图的当前缩放级别
,就像要检查的条件一样。 比如说,

if(mapView.zoom==18.0)
{
 //code goes here..
}

如何获得它?

您可以使用下面的代码

#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

您可以使用下面的代码

#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

这很容易。GMSMapView有一个camera()属性,该属性具有缩放属性

CGFloat zoom = mapView.camera.zoom;

请注意,zoom属性是只读的。

这非常简单。GMSMapView有一个camera()属性,该属性具有缩放属性

CGFloat zoom = mapView.camera.zoom;

请注意,zoom属性是只读的。

还有第三方类可用代码,其中包含有关MKMapView的所有信息!谷歌地图视图也适用吗?我想知道。对于谷歌地图,你可以使用GMSCameraPosition来获得缩放级别。查看CGFloat currentZoom=self.MapView.camera.zoom;如果答案对你有效,你能接受吗?这样其他人也能从这篇文章中得到想法。还有第三方类的可用代码包含了关于MKMapView的所有信息!谷歌地图视图也适用吗?我想知道。对于谷歌地图,你可以使用GMSCameraPosition来获得缩放级别。查看CGFloat currentZoom=self.MapView.camera.zoom;如果答案对你有效,你能接受吗?这样其他人也能从这篇文章中得到想法。