手势交互
融汇地图iOS SDK提供了丰富的手势操作以满足开发者对地图交互的需求,用户需要修改 FMGLMapView
的相关属性进行设置:
1.手势总览
类型 | 描述 |
---|---|
FMGLMapView.zoomEnabled | 此属性用于地图缩放手势的开启和关闭 |
FMGLMapView.scrollEnabled | 此属性用于地图滑动手势的开启和关闭 |
FMGLMapView.rotateEnabled | 此属性用于地图旋转手势的开启和关闭 |
FMGLMapView.pitchEnabled | 此属性用于地图俯视视角倾斜的开启和关闭 |
2.缩放手势
缩放手势可改变地图的缩放级别,地图响应的手势如下:
- 双击地图可以使缩放级别增加1 (放大)
- 两个手指捏/拉伸
通过 FMGLMapView
的 zoomEnabled
属性可以禁用或启用缩放手势。
禁用缩放手势不会影响用户使用地图上的缩放控制按钮。禁用缩放手势的代码如下:
// NO 表示禁用缩放手势,YES 表示开启
[self.mapView setZoomEnabled:YES];
地图缩放功能拓展:
地图的缩放级别默认的范围是[0-20],可以通过设置 FMGLMapView
的 minimumZoomLevel
和 maximumZoomLevel
属性设置最小和最大缩放级别(3-16)。
调用 FMGLMapView
的 setZoomLevel
方法设置地图的缩放级别,用来缩放地图。示例代码如下:
// 设置缩放级别限制
_mapView.minimumZoomLevel = 3;
_mapView.maximumZoomLevel = 16;
// 设置地图当前缩放级别
[_mapView setZoomLevel:12 animated:YES];
3.滑动手势
您可以用手指拖动地图四处滚动(平移)或用手指滑动地图(动画效果)。
通过 FMGLMapView
的 scrollEnabled
属性可以禁用或开启平移(滑动)手势。
以下介绍展示如何禁用缩放手势,示例代码如下:
// NO表示禁用滑动手势,YES表示开启
[self.mapView setScrollEnabled:YES];
地图滑动功能拓展:
地图平移时,缩放级别不变,可通过改变地图的中心点来移动地图,示例代码如下:
[_mapView setCenterCoordinate:center animated:YES];
4.旋转手势
您可以用两个手指在地图上转动,可以旋转地图。
通过调用类 FMGLMapView
的 rotateEnabled
属性禁用或开启旋转手势。
// NO表示禁用旋转手势,YES表示开启
[self.mapView setRotateEnabled:YES];
5.倾斜手势
用户可以在地图上放置两个手指,移动它们一起向下或向上去增加或减小倾斜角。
通过 FMGLMapView
的 pitchEnabled
属性禁用或启用倾斜手势。
// NO表示禁用旋转手势,YES表示开启
[self.mapView setRotateEnabled:YES];
地图旋转和倾斜功能拓展:
旋转角度的范围是[0.f 360.f],以逆时针为正向。
倾斜角度范围为[0.f, 90.f]。
调用 FMGLMapView
的 flyToCamera
方法设置视角的高度,倾斜角度,旋转角度,中心点坐标。示例代码如下:
FMGLMapCamera *camera = [FMGLMapCamera cameraLookingAtCenterCoordinate:center fromDistance:500. pitch:45. heading:60.];
[self.mapView flyToCamera:camera completionHandler:nil];