是否可以获取Leaflet组件当前的scale值?
上图显示了我想通过某种方法检索的“300 公里”或“100 英里”。现有文档仅显示如何使用特定选项添加比例控件:http://leafletjs.com/reference.html#control-scale
请注意低缩放级别的比例(当您看到世界的很大一部分时)。
您看到的比例实际上对于地图视图的中心水平线有效。甚至地图的一角,它所在的位置也有轻微的错误!
如果你只是想“复制”它visual如果要在其他地方进行缩放,您可以简单地创建另一个比例控件并提取其 HTML 容器,而不是将其嵌入到地图中:
document.getElementById("myNewContainerId").appendChild(
L.control.scale(options).onAdd(map)
);
如果您想读取比例控件的实际像素长度和文本,您可以通过内部检索它们_mScale.style.width
and _mScale.innerHTML
比例控件的属性。代替_mScale
by _iScale
如果您想要英制值而不是公制值。
否则,如果您希望能够测量地图上两点之间的距离,您应该使用myLatLng.distanceTo(otherLatLng) method,这会更准确,因为它不仅会在myLatLng
实际纬度,但也纠正沿途可能存在的不同比例otherLatLng
如果它放置在不同的纬度。
返回到使用半正弦公式计算的给定 LatLng 的距离(以米为单位)。看维基百科上的描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)