这里发生了几件事:MapKit 提供的图块大小 + 地图大小,以及未发布的最大相机距离(如您所述)。我建议添加额外的日志记录以查找为您的地图计算的相机距离(因为它与您的中心坐标所在的位置有关)。
MapKit JS 提供 512x512 的图块(用于 Retina/hDPI 设备),因此为特定缩放提供的图块数量取决于地图的像素尺寸<div>
和设备的功能。通过测试,MapKit JS 似乎不提供低于缩放级别 1 的图块。您可以通过检查通过Inspect Element > Network > Images提供的图像来发现这一点。
您可以使用有关处理地图事件的 MapKit JS 文档将经验相机距离值打印到 Javascript 控制台。
map.addEventListener("region-change-end", function(event) {
console.log("cameraDistance = " +
mapkit.maps[0].cameraDistance.toFixed(3)
);
});
#map
以新南威尔士州悉尼为中心的 600x600 像素的示例数据。通过经验测试,我估计了相机距离和缩放级别之间的关系,你可以在 Mapbox 或 Leaflet SDK for JavaScript 中找到。
估计缩放级别 = 25 - 楼层(log 2 ( cameraDistance
))
cameraDistance 以米为单位 以澳大利亚为中心 |
估计缩放 25 - 楼层(log 2 ( cameraDistance )) |
18,817,301.985 |
1 |
1,176,081.374 |
5 |
36,752.543 |
10 |
1,148.517 |
15 |
35.891 |
20 |
4.486 |
23 |
