我有地图的一部分的lat / lon。我想把这个lat / lon的点放在3d空间webgl(lib:three.js)中。然后,如何将lat / lon转换为相应的x,y,z线。
答案 0 :(得分:2)
因为纬度和经度是2D表示的一部分,您需要选择将用于投影的平面。最简单的一个是:X - 经度,Y - 纬度。如果您需要一些精确的位置,请再进行缩放。但这是我已经说过的最简单的案例。通常,地图投影要复杂得多。例如,请参阅lat/lon conversion to x/y-coordinates中的答案。希望它会对你有所帮助。
答案 1 :(得分:1)
当您使用像素创建新点时,它将转换为lat lng。
var offsetX = 10;
var offsetY = 10;
var mapZoom = 5;
var point = new google.maps.Point(
offsetX / Math.pow(2, mapZoom),
offsetY / Math.pow(2, mapZoom)
);
在此之后,您可以将point.x和point.y与另一个点相加。
答案 2 :(得分:0)
花费一些时间来寻找最佳的“ three.js方式”来解决此问题。为了后代,我想把它包括在这里。以下假设Y向上:
T
在这里查看Spherical.setFromvector3和Vector3.setFromSpherical方法以查看内部工作原理。