我第一次使用谷歌地图,想知道我应该如何在 +/- 按钮的帮助下在谷歌地图上实现放大和缩小......我已经设置了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)
}