将 LatLng 转换为 (x, y) 坐标

Convert LatLng to (x, y) coordinates

我正在制作 Google 将显示多辆车的地图。我有两点(一个点是旧位置,另一个点是现在的位置)这个定位系统将帮助写出通过这两个点的直线方程。这可能与其他线相交并告诉我碰撞的可能性。

但问题是我正在从 GPS 模块获取坐标,它会以纬度和经度格式给出位置。

我需要 x、y 坐标来编写穿过它们的直线的方程。我已经在不同的网页上探索了大部分方法,但问题是他们会要求一些屏幕尺寸(或地图边界),这与我的方法类型不兼容。

问题:把经纬度转换成(x,y)坐标的方法是什么,就像从space看地球是平的一样以几内亚湾(Lat: 0°, Lon: 0°)为原点

  1. 如果您的任务需要高精度,您必须使用 Latitude/Longitude 并解决大圆相交任务。地球不是平的。

  2. 如果您可以接受计算中存在的一些错误并且您的所有车辆都位于狭小的有限区域(最多 100 公里,尽管这取决于您可以接受的错误),您可以假设密闭区域平坦。

比如你的一辆车位于N10.0 E10.0,第二辆车位于N10.1 E10.2,你可以选择N10.0 E10.0作为起点。

因此,这两辆车将具有以下 (X, Y) 坐标(假设 X 轴沿着赤道): 1) (0.0km 0.0km) 2) (21.86km 11.1km)

第二辆车的 X 是 (40000km / 360 度) * cos(10.0) * (10.2 - 10.0) = 21.86km

第二辆车的 Y 为 (40000km / 360 度) * (10.1 - 10.0) = 11.1km

如果您尝试对彼此相距 10 000 公里的车辆应用平线交叉点 - 您的计算很可能是不正确的。