调用方法交互

您所在的位置:网站首页 地图的缩放 调用方法交互

调用方法交互

2023-09-02 18:20| 来源: 网络整理| 查看: 265

方法交互的概念是从程序角度出发提出的。地图 SDK 提供了很多与地图交互的接口方法,例如:改变地图显示的区域(即改变地图中心点)、改变地图的缩放级别、限制地图的显示范围等。

地图视角交互的核心方法均依赖 AMap 类提供的这两个方法,区别在于所构造的 CameraUpdate 类对象参数不一样,得到的效果也不同。以下对例举的三种常用交互方法进行详细介绍,其余的交互方法请参考官方参考手册。

在本文最后介绍了如何改变地图默认显示区域,需要注意的是改变地图默认显示区域不依赖以下两个方法。

带有地图视角移动动画的方法:

Java//AMap类中提供,带有移动过程的动画 animateCamera(CameraUpdate cameraupdate,long duration,AMap.CancelableCallback cancelablecallback);

不带地图视角移动动画的方法:

Java//AMap类中提供,直接移动过去,不带移动过程动画 moveCamera(CameraUpdate cameraupdate); 改变地图的中心点

如果想改变地图中心点,可以通过如下方法构造改变地图中心点的 CameraUpdate 参数:

Java//参数依次是:视角调整区域的中心点坐标、希望调整到的缩放级别、俯仰角0°~45°(垂直与地图时为0)、偏航角 0~360° (正北方为0) CameraUpdate mCameraUpdate = CameraUpdateFactory.newCameraPosition(new CameraPosition(new LatLng(39.977290,116.337000),18,30,0)); 改变地图的缩放级别

如果想改变地图的缩放级别,可以通过如下方法构造改变地图缩放级别的 CameraUpdate 参数:

Java //设置希望展示的地图缩放级别 CameraUpdate mCameraUpdate = CameraUpdateFactory.zoomTo(17);

地图的缩放级别一共分为 17 级,从 3 到 19。数字越大,展示的图面信息越精细。

名称

参数说明

调用方法

ZoomTo

缩放地图到指定的缩放级别

AMap.moveCamera(CameraUpdateFactory.zoomTo(17))

ZoomIn

缩放地图到当前缩放级别的上一级

AMap.moveCamera(CameraUpdateFactory.zoomIn())

限制地图的显示范围

从地图 SDK V4.1.0 起新增了设置地图显示范围的方法,手机屏幕仅显示设定的地图范围,例如:希望设置仅显示北京市区地图,可使用此功能。

注意:如果限制了地图显示范围,地图旋转手势将会失效。

调用示例如下:

JavaLatLng southwestLatLng = new LatLng(33.789925, 104.838326); LatLng northeastLatLng = new LatLng(38.740688, 114.647472); LatLngBounds latLngBounds = new LatLngBounds(southwestLatLng, northeastLatLng); aMap.setMapStatusLimits(latLngBounds); 改变地图默认显示区域

地图默认显示北京地区,通过采用重载的 MapView 构造方法更改默认地图显示区域:

Java MapView mapView = new MapView(this, mapOptions);

代码实现片段:

Java// 定义北京市经纬度坐标(此处以北京坐标为例) LatLng centerBJPoint= new LatLng(39.904989,116.405285); // 定义了一个配置 AMap 对象的参数类 AMapOptions mapOptions = new AMapOptions(); // 设置了一个可视范围的初始化位置 // CameraPosition 第一个参数: 目标位置的屏幕中心点经纬度坐标。 // CameraPosition 第二个参数: 目标可视区域的缩放级别 // CameraPosition 第三个参数: 目标可视区域的倾斜度,以角度为单位。 // CameraPosition 第四个参数: 可视区域指向的方向,以角度为单位,从正北向顺时针方向计算,从0度到360度 mapOptions.camera(new CameraPosition(centerBJPoint, 10f, 0, 0)); // 定义一个 MapView 对象,构造方法中传入 mapOptions 参数类 MapView mapView = new MapView(this, mapOptions); // 调用 onCreate方法 对 MapView LayoutParams 设置 mapView.onCreate(savedInstanceState);


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3