[英]Get latlng of grid on Google Maps when the centre latlng is provided
X X X
X Y X
X X X
据我所知,您正在寻求的是从 Y 获得 X。
因此,首先,您需要学习如何在纬度和经度上加上公里。 Afaik 他们取决于 map 当前缩放多少(也称为缩放级别)
接下来你要做的是制作网格状结构
let grids = [
[-1,0],
[-1,1],
[0,1],
[1,1],
[1,0],
[1,-1],
[0,-1],
[-1,-1]
]
尝试在笛卡尔平面上想象这些点。 后面你会明白它的语义
现在让我们想象一下您的 Y = (100.0,999.0)。 这是一个任意点,仅用作示例。
const DISTANCE_LAT = 100 // in km
const DISTANCE_LONG = 100 // in km
let y = {lat: 100.0 long: 999.0)} // adjust your original coordinate
let new_coordinate = [];
let pi = 3.14159263
let radius = 6378
for(let point of grids){
let new_lat = y.lat + point[0] * (DISTANCE_LAT / radius) * (180 / pi);
let new_long = y.long + point[1] * (DISTANCE_LONG / radius) * (180 / pi) / Math.cos(y.lat * 3.14159263/180);
new_coordinates.push( {lat: new_lat, long: new_long} )
}
您成功地从原来的积分中获得了 9 分。 做类似的数学以获得 25 或任意数量的任意点:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.