Google maps 在谷歌地图上绘制KML轨迹中点之间的最短直线

Google maps 在谷歌地图上绘制KML轨迹中点之间的最短直线,google-maps,kml,google-earth,Google Maps,Kml,Google Earth,更新:谷歌于2016年3月6日修复了此漏洞 当最短线穿过国际日期线时,我无法显示两点之间的最短线。这里有一个问题的例子:(放大和缩小显示了谷歌在做什么。) 旧金山和东京之间的界线应该穿越太平洋,因为这是最短的路径。相反,谷歌在北美、大西洋、亚洲等地划出了一条线 我应该做什么改变才能得到我想要的线路 下面是.kml文件的相关块: <Placemark> <styleUrl>#multiTrack</styleUrl> <gx:Track>

更新:谷歌于2016年3月6日修复了此漏洞

当最短线穿过国际日期线时,我无法显示两点之间的最短线。这里有一个问题的例子:(放大和缩小显示了谷歌在做什么。)

旧金山和东京之间的界线应该穿越太平洋,因为这是最短的路径。相反,谷歌在北美、大西洋、亚洲等地划出了一条线

我应该做什么改变才能得到我想要的线路

下面是.kml文件的相关块:

<Placemark>
<styleUrl>#multiTrack</styleUrl>
<gx:Track>
    <altitudeMode>clampToGround</altitudeMode>
    <when>2014-09-17T07:25:06.875-07:00</when><gx:coord>-122.4167 37.7833 0</gx:coord>
    <when>2014-09-18T12:06:42.745-07:00</when><gx:coord>139.6833 35.6833 0</gx:coord>
</gx:Track>

#多轨

在堆栈溢出时:


还没有解决方案。

当Google Earth中的几何体需要跨越国际日期线时,您必须以不同的方式指定度坐标,以“提示”预期方向。来自谷歌:

指定边界框西边缘的经度,单位为 从0到±180的十进制度数。用于与子午线重叠的叠加 经度为180°时,值可以超出该范围

在您的情况下,KML将是:

<Placemark>
    <styleUrl>#multiTrack</styleUrl>
    <gx:Track>
        <altitudeMode>clampToGround</altitudeMode>
        <when>2014-09-17T07:25:06.875-07:00</when><gx:coord>-122.4167 37.7833 0</gx:coord>
        <when>2014-09-18T12:06:42.745-07:00</when><gx:coord>-220.3167 35.6833 0</gx:coord>
    </gx:Track>
</Placemark>

#多轨
攀爬地面
2014-09-17T07:25:06.875-07:00-122.4167 37.7833 0
2014-09-18T12:06:42.745-07:00-220.3167 35.6833 0

p、 感谢您提供了.kml文件,这使得调试非常方便

这是谷歌地图javascript API中的一个bug。该漏洞于2015年5月引入。添加您的投票可能会加快修复

谢谢你,亚当!我永远不会在KML文档中找到那一段。使长坐标“超过”-180肯定会使线朝着正确的方向前进,但是当我使用你的更改时,正如所贴的,看看当它到达日期线时会发生什么:()我在谷歌地球上测试了我提出的方法。Maps Javascript API实际上不支持完整的KML规范。您可以看到它支持哪些KML元素和。值得注意的是缺少对
gx:Track
的支持。再次感谢Adam。我删除了gx:Track标记,改为使用LineString。没有改变任何事情。我将结果添加到地图中,看起来地图有一个跨越180子午线的几何问题历史。(请参阅和)您可能会在这些线程中找到一些解决方法,例如将其拆分为两行。
<Placemark>
    <styleUrl>#multiTrack</styleUrl>
    <gx:Track>
        <altitudeMode>clampToGround</altitudeMode>
        <when>2014-09-17T07:25:06.875-07:00</when><gx:coord>-122.4167 37.7833 0</gx:coord>
        <when>2014-09-18T12:06:42.745-07:00</when><gx:coord>-220.3167 35.6833 0</gx:coord>
    </gx:Track>
</Placemark>