检索传单的当前比例值
Retrieve current scale value of Leaflet
能否获取Leaflet组件当前的scale值?
上图显示了我想通过某种方法检索的“300 公里”或“100 英里”。现有文档仅显示如何使用特定选项添加缩放控件:http://leafletjs.com/reference.html#control-scale
小心低缩放级别的比例(当您看到世界的大部分时)。
您看到的比例实际上适用于地图视图的中心水平线。就连地图的一角,放的地方也有点不对!
如果您只想 "duplicate" visual 在其他地方缩放,您可以简单地创建另一个缩放控件并提取其 HTML 容器而不是嵌入它到你的地图:
document.getElementById("myNewContainerId").appendChild(
L.control.scale(options).onAdd(map)
);
如果您想读取缩放控件的实际像素长度和文本,您可以通过缩放控件的内部 _mScale.style.width
和 _mScale.innerHTML
属性检索它们。如果您想要英制值而不是公制值,请将 _mScale
替换为 _iScale
。
否则,如果你想测量地图上两点之间的距离,你应该使用 myLatLng.distanceTo(otherLatLng)
method,这样会更准确,因为它不仅会使用正确的以 myLatLng
实际纬度进行缩放,但如果放置在不同的纬度,则还可以校正通往 otherLatLng
的路径上可能存在的不同比例。
Returns the distance (in meters) to the given LatLng calculated using the Haversine formula. See description on wikipedia
能否获取Leaflet组件当前的scale值?
上图显示了我想通过某种方法检索的“300 公里”或“100 英里”。现有文档仅显示如何使用特定选项添加缩放控件:http://leafletjs.com/reference.html#control-scale
小心低缩放级别的比例(当您看到世界的大部分时)。
您看到的比例实际上适用于地图视图的中心水平线。就连地图的一角,放的地方也有点不对!
如果您只想 "duplicate" visual 在其他地方缩放,您可以简单地创建另一个缩放控件并提取其 HTML 容器而不是嵌入它到你的地图:
document.getElementById("myNewContainerId").appendChild(
L.control.scale(options).onAdd(map)
);
如果您想读取缩放控件的实际像素长度和文本,您可以通过缩放控件的内部 _mScale.style.width
和 _mScale.innerHTML
属性检索它们。如果您想要英制值而不是公制值,请将 _mScale
替换为 _iScale
。
否则,如果你想测量地图上两点之间的距离,你应该使用 myLatLng.distanceTo(otherLatLng)
method,这样会更准确,因为它不仅会使用正确的以 myLatLng
实际纬度进行缩放,但如果放置在不同的纬度,则还可以校正通往 otherLatLng
的路径上可能存在的不同比例。
Returns the distance (in meters) to the given LatLng calculated using the Haversine formula. See description on wikipedia