与地图交互
记录下高德地图交互相关的设置。地图的触摸事件很丰富,有单击、双击、单指拖拽、双指拖拽、双指旋转、双指缩放等,高德提供了api来设置这些用户交互,还有地图截图,这也算是用户交互。
显示设置
1、 指南针
在左上角显示
UiSettings mUiSettings = aMap.getUiSettings(); //初始化
mUiSettings.setCompassEnabled(true);//指南针
2、 比例尺
mUiSettings.setScaleControlsEnabled(true);//比例尺
3、 缩放控件
mUiSettings.setScaleControlsEnabled(true);//比例尺
mUiSettings.setZoomControlsEnabled(true);//缩放控件
可通过
mUiSettings.setZoomPosition(AMapOptions.ZOOM_POSITION_RIGHT_BUTTOM) //左下角
mUiSettings.setZoomPosition(AMapOptions.ZOOM_POSITION_RIGHT_CENTER)// 左中间
调整缩放控件位置
4、 LOGO
mUiSetting.setLogoPosition(int);
默认位置在左下角
系统提供了6种LOGO的位置
mUiSettings.setLogoPosition(AMapOptions.LOGO_MARGIN_LEFT);
mUiSettings.setLogoPosition(AMapOptions.LOGO_MARGIN_BOTTOM);
mUiSettings.setLogoPosition(AMapOptions.LOGO_MARGIN_RIGHT);
mUiSettings.setLogoPosition(AMapOptions.LOGO_POSITION_BOTTOM_LEFT);
mUiSettings.setLogoPosition(AMapOptions.LOGO_POSITION_BOTTOM_RIGHT);
mUiSettings.setLogoPosition(AMapOptions.LOGO_POSITION_BOTTOM_CENTER);
5、获取缩放比例
float scale = aMap.getScalePerPixel();
获取出来的这个scale单位是米/像素,也就是屏幕上一像素等于实际多少米
触控设置
1、 滑动手势
是否可以单指滑动
mUiSettings.setScrollGesturesEnabled(false);
2、 缩放手势
是否可以双指缩放
mUiSettings.setZoomGesturesEnabled(false);
3、 倾斜手势
是否可以双指倾斜
mUiSettings.setTiltGesturesEnabled(false);
4、 旋转手势
是否可以双指旋转
mUiSettings.setRotateGesturesEnabled(false);
5、 所有手势开关
mUiSettings.setAllGesturesEnabled (false);
边界限制
这个api是一个比较新的api,你先定义好东北、西南两个点的坐标,然后地图根据这两个点限制的范围,自动显示地图。
LatLng northeastLatLng = new LatLng(40.159453, 116.767834);
LatLng southwestLatLng = new LatLng(39.674949, 115.932873);
LatLngBounds latLngBounds = new LatLngBounds(southwestLatLng, northeastLatLng);
aMap.setMapStatusLimits(latLngBounds);
地图截屏
这个就简单了,就是一个api,调用一下。
aMap.getMapScreenShot(new AMap.OnMapScreenShotListener())