如何使用按钮在谷歌ios sdk地图中设置放大和缩小



我第一次使用谷歌地图,想知道我应该如何在 +/- 按钮的帮助下在谷歌地图上实现放大和缩小......我已经设置了GmsCameraPosition,但不清楚如何使用按钮放大和缩小...我必须按钮,然后在那里使用我正在使用的操作,如下所示

-(void)zoomOutMapView:(id)sender
{
    for (CGFloat i= 10; i<=15; i++) {
        [mapView animateToZoom:i ];
        [mapView setMinZoom:10 maxZoom:15];
    }
}
-(void)zoomInMapView:(id)sender
{
    for (CGFloat i= 10; i<=15; i--)
    {
        [mapView animateToZoom:i ];
        [mapView setMinZoom:10 maxZoom:15];
    }
}

创建一个用于放大/缩小GmsCameraPosition的常用方法,并在视图控制器中创建一个常用CGFloat

例如

在您的ViewDidLoad

CGFloat currentZoom = 10.0f;

创建通用方法,例如

-(Void)ZoominOutMap:(CGFloat)level
{
camera = [GMSCameraPosition cameraWithLatitude:locationManager.location.coordinate.latitude
                                 longitude:locationManager.location.coordinate.longitude
                                      zoom:level];
self.MapView.camera = camera;
}

如果您像这样按+按钮呼叫

-(void)zoomInMapView:(id)sender
{
 currentZoom = currentZoom + 1;
 [self ZoominOutMap:currentZoom];
}

如果您按-按钮呼叫,例如

-(void) zoomOutMapView:(id)sender
{
 currentZoom = currentZoom - 1;
 [self ZoominOutMap:currentZoom];
}

我们有GMSCameraPosition:聚合所有相机位置参数的类

示例用法:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                        longitude:151.2086
                                                             zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView_.mapType = kGMSTypeSatellite;

我们可以使用此相机对象来设置缩放级别

camera.zoom = 6;

我们也可以再次将摄像机重新分配给地图试用:)

这是通过单击 #iOS #GoogleMap #Swift 中的按钮进行 #ZoomInZoomOut 的简单方法

步骤1:像波纹管一样使用命令变量来管理缩放

var currentZoom : Float = 10.0

步骤2:更改按钮方法/操作内变量的值

@IBAction func zoomIn(sender : UIButton)
{
    self.currentZoom = self.currentZoom + 1
    
}
@IBAction func zoomOut(sender : UIButton)
{
    self.currentZoom = self.currentZoom - 1
}
// you can also directly write mapView.animate method inside above IBAction 
func zoomInZoomOutGoogleMap() {
    mapView.animate(toZoom: currentZoom)
}

最新更新