如何使用传单绘制 100m x 100m 矩形

Posted

技术标签:

【中文标题】如何使用传单绘制 100m x 100m 矩形【英文标题】:How to draw 100m x 100m Rectangle using leaflet 【发布时间】:2016-05-19 20:06:23 【问题描述】:

我需要在地图上画一个大约 100mx100m 的矩形。但正如您所知,只有使用纬度和经度才有可能,出于某种原因,我似乎无法使用据称可以解决此问题的公式使其工作。

这是我最近的尝试:

var data = 
    sw: 
        lat: e.layer.getLatLngs()[1].lat,
        lng: e.layer.getLatLngs()[1].lng + (100 / 6378137) * (180 / Math.PI) / Math.cos(e.layer.getLatLngs()[1].lng * Math.PI / 180)

    ,
    nw: 
        lat: e.layer.getLatLngs()[1].lat,
        lng: e.layer.getLatLngs()[1].lng
    ,
    se: 
        lat: e.layer.getLatLngs()[1].lat - (100 / 6378137) * (180 / Math.PI),
        lng: e.layer.getLatLngs()[1].lng + (100 / 6378137) * (180 / Math.PI) / Math.cos(e.layer.getLatLngs()[1].lng * Math.PI / 180)
    ,
    ne: 
        lat: e.layer.getLatLngs()[1].lat - (100 / 6378137) * (180 / Math.PI),
        lng: e.layer.getLatLngs()[1].lng
    ,

e.layer.setLatLngs([data.sw, data.nw, data.ne, data.se]); //e.layer.getLatLngs()[0], ...[1], ...[2], ...[3]

【问题讨论】:

如果你知道中心坐标并且你正在画一个正方形,你会对***.com/questions/36041765/…感兴趣 【参考方案1】:

您必须使用纬度的余弦,而不是经度的余弦。除此之外,你的数字是正确的。

供参考,另见http://playground-leaflet.rhcloud.com/jop/edit?html,output

【讨论】:

不敢相信我错过了!非常感谢!

以上是关于如何使用传单绘制 100m x 100m 矩形的主要内容,如果未能解决你的问题,请参考以下文章

面试官:如何加载100M的图片却不撑爆内存,一张100M的大图,如何预防OOM?

linux/centos如何查看网卡是100M还是1000M

linux/centos如何查看网卡是100m还是1000m

如何查找某个文件夹中大于100M的文件?

GitHub限制上传大于100M的单个大文件

如何使用Git LFS上传超过100M的二进制文件到GitHub,及GitHub加速解决方案