地图开发中,定位缩放是常见功能。在leaflet中定位缩放一般有两种方式
1 设置中心点和缩放层级
map.setView(<LatLng> center, <Number> zoom)
2 将地图的视图设置在给定的矩形地理范围内,地图会自动计算最大缩放级别和中心点。
map.fitBounds(<LatLngBounds> bounds, <fitBounds options> options?)
两种方式对应不同的数据:
当定位缩放点数据时,适用第一种方式
当定位缩放线和面数据时,手撕代码去计算中心麻烦,就算知道中心点也不能设置合适的缩放层级,所以使用第二种方法
获取图形的外接矩形主要以下几种方式
1 通过L.latLngBounds()
2 通过getBounds()方法,FeatureGroup、Circle、Polygon、Polyline、ImageOverlay这些类和他们的继承类(GeoJSON)都有getBounds方法
// 以FeatureGroup举例
let featureGroup = L.featureGroup(<Layer[]> layers?, <Object> options?)
map.fitBounds(featureGroup.getBounds())