传单地图宽度(以米为单位)

Posted

技术标签:

【中文标题】传单地图宽度(以米为单位)【英文标题】:Leaflet map width in metres 【发布时间】:2016-05-31 19:18:53 【问题描述】:

我想要一个在我的传单地图上创建一个圆圈的按钮。 圆圈应放置在地图中心,直径应为当前显示区域宽度的 75%。 要获得中心的latlgn 很容易。但我不知道 75% 的地图以 为半径。

我尝试了 getsize 方法,但它返回 px 的宽度。但我需要 。 有插件吗?还是可以用zoomlevel和getsize的Pixel来计算?

【问题讨论】:

您能否详细说明您正在使用的技术和软件。从问题中不清楚,所以这使得任何人都无法回答你。使用edit 按钮添加这些详细信息。 【参考方案1】:

获取地图边界(LatLngBounds),获取这些边界的东(或西)经度,然后使用 L.LatLng.distanceTo 获取米数,例如:

var center = map.getCenter();
var eastBound = map.getBounds().getEast();
var centerEast = L.latLng(center.lat, eastBound);

var dist = center.distanceTo(centerEast);
var radius = dist * 0.75

还请记住,Leaflet 有 L.Circle 以米(或 CRS 单位)工作,L.CircleMarker 以像素工作。

【讨论】:

也非常感谢 Circle 和 CircleMarker 的有用提示。 L.latlng 需要改为 L.latLng。尝试编辑,但更改少于 6 个字符

以上是关于传单地图宽度(以米为单位)的主要内容,如果未能解决你的问题,请参考以下文章

在地图上以米为单位绘制圆

如何使用 Geopandas 在地图上显示以米为单位的比例尺、指北针以及经纬度坐标轴?

将圆的半径(以米为单位)缩放到 D3.js d3.geo.mercator 地图

在MYSQL中用2个坐标以米为单位计算地球距离的最佳方法是啥?

如何获得以米为单位的距离

如何设置以米为单位的世界坐标的转换矩阵(用于增强现实)