0
目标是使用坐标数组来绘制路线而不使用Google地图。将标准纬度/经度坐标转换为HTML5画布坐标的最佳方法是什么?如何在不使用Google地图的情况下将经度/纬度转换为HTML5坐标?
目标是使用坐标数组来绘制路线而不使用Google地图。将标准纬度/经度坐标转换为HTML5画布坐标的最佳方法是什么?如何在不使用Google地图的情况下将经度/纬度转换为HTML5坐标?
我发现了一个相当简单的方法来将纬度/经度转换为点。
见JS小提琴: https://jsfiddle.net/12stct3y/
var bounds = {
"minLon": -81.267555236816,
"maxLon": -81.261039733887,
"maxLat": 28.979709625244,
"minLat": 28.977783203125
}
var dimensions = {
width:400,
height:150
}
function getX(x) {
var position = (x - bounds.minLon)/(bounds.maxLon - bounds.minLon);
return dimensions.width*position;
}
function getY(y) {
var position = (y - bounds.minLat)/(bounds.maxLat - bounds.minLat);
return dimensions.height*position;
}
不包括在小提琴:
你看看Haversine公式编辑?它会给你距离和角度,你可以很容易地转换为x,y。 –
我发布了一个很好的答案。 –
请注意发生在日期线(即第180子午线)的奇怪现象。幸运的是,没有太多的道路穿过它,目前只有斐济。但是,根据您要处理的区域的大小,您可能需要对短距离使用反转坐标的特殊情况进行编码。 –