地图层级决定了地图的缩放程度。层级越高,细节越多、范围越小。每放大一级,分辨率提高一倍(每像素覆盖的地理距离减半)。
百度地图 JSAPI 支持层级范围为 3 - 21。
百度地图以 18 级时 1 像素 = 1 米(墨卡托) 为基准,公式:
分辨率 = 2^(18 - zoom) 米/像素
各层级分辨率:
map.getZoomUnits() 可获取当前层级的分辨率值。
标准 Web 墨卡托(Google Maps、OSM、高德等)的分辨率公式:
分辨率 = 40075016 / (256 × 2^zoom) 米/像素
即 0 级时全球赤道(≈40075km)用 256px 覆盖。标准 18 级分辨率 ≈ 0.596 米/像素。
两者在 18 级的比值:
百度 18 级: 1 米/像素标准 18 级: 0.596 米/像素偏移量 = log2(1 / 0.596) ≈ 0.75
由于两者每级都是 2 倍递进,偏移量在所有层级恒定:
Z_百度 ≈ Z_标准 + 0.75
即相同分辨率下百度层级比标准层级高约 0.75 级。
上一篇
下一篇