gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:03:42 26 4
gpt4 key购买 nike

我需要在 map 上绘制一个大约 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]

最佳答案

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

作为引用,另请参阅 http://playground-leaflet.rhcloud.com/jop/edit?html,output

关于javascript - 如何使用传单绘制 100m x 100m 的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37333031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com