地图状态 最后更新时间: 2023年03月23日
地图状态包括地图中心点、缩放级别等内容。本章为您介绍设置 / 获取地图状态的常用方法,包括
- 设置 / 获取地图中心点和缩放级别的方法
- 根据覆盖物范围调整视野
- 常用方法列表
设置 / 获取地图中心点和级别
设置、获取地图中心点setCenter、getCenter
// 传入经纬度,设置地图中心点
var position = new AMap.LngLat(116, 39); // 标准写法
// 简写 var position = [116, 39];
map.setCenter(position);
// 获取地图中心点
var currentCenter = map.getCenter();
设置、获取地图缩放级别setZoom、getZoom
// 设置地图级别,级别为数字。
// 参数zoom可设范围:[2,20];
map.setZoom(13);
// 获取地图级别
var currentZoom = map.getZoom();
同时设置地图中心点和缩放级别setZoomAndCenter
// 同时传入缩放级别和中心点经纬度
map.setZoomAndCenter(14, [116.205467, 39.907761]);
根据覆盖物范围调整视野
地图上覆盖物较多的情况下,如果需要保证所有覆盖物都在视野范围内, 需要将地图调整到合适的缩放等级和中心点,我们可以调用setFitView()方法,以实现该效果。
// 创建一条折线覆盖物
var path = [
new AMap.LngLat("116.368904","39.913423"),
new AMap.LngLat("116.382122","39.901176"),
new AMap.LngLat("116.387271","39.912501"),
new AMap.LngLat("116.398258","39.904600")
];
var polyline = new AMap.Polyline({
path: path,
borderWeight: 2, // 线条宽度,默认为 1
strokeColor: 'red', // 线条颜色
lineJoin: 'round' // 折线拐点连接处样式
});
map.add(polyline);
// 创建两个点标记
var marker1 = new AMap.Marker({
position: new AMap.LngLat(117.39, 39.9), // 经纬度对象,如 new AMap.LngLat(116.39, 39.9); 也可以是经纬度构成的一维数组[116.39, 39.9]
title: '北京'
});
var marker2 = new AMap.Marker({
position: new AMap.LngLat(118.39, 39.9), // 经纬度对象,如 new AMap.LngLat(116.39, 39.9); 也可以是经纬度构成的一维数组[116.39, 39.9]
title: '北京'
});
map.add(marker1);
map.add(marker2);
// 自动适配到合适视野范围
// 无参数,默认包括所有覆盖物的情况
map.setFitView();
// 传入覆盖物数组,仅包括polyline和marker1的情况
map.setFitView([polyline,marker1]);