我使用Google地球创建了一个kml文件,可以使用外部图像创建叠加层。它运作良好,我想找到一种转换kml的合理方便的方法,以便谷歌地图可以读取它并以类似的方式显示它。
Google地图无法处理Google地球坐标,因此我尝试自行转换它们。例如,我更换了地球坐标:
<gx:LatLonQuad>
<coordinates>
-80.34344837780532,33.1105864538138,0
-80.31934785561177,33.09410014458361,0
-80.30034967982111,33.11373571527255,0
-80.32473786478347,33.13044135685429,0
</coordinates>
</gx:LatLonQuad>
使用等效的地图坐标:
<LatLonBox>
<north>33.13044135685429</north>
<south>33.11373571527255</south>
<east>-80.31934785561177</east>
<west>-80.34344837780532</west>
</LatLonBox>
不幸的是,这并不完全“等同”。地图叠加略微偏离并且旋转不正确。
以下是两人的图片:
地球示例
地图示例
我可以看出为什么它不起作用,但我对另一种解决方案感到茫然。任何人都知道在涉及图像叠加时将Google Earth kml转换为Google Maps kml的简单方法吗?
答案 0 :(得分:1)
根据KML reference,<LatLonBox>
也有一个轮换。不确定Google地图是否支持此功能,但它应该解决您遇到的问题。 <gx:LatLonQuad>
允许您指定一个旋转的框(这是您正在做的),这是指定的内容:
根据KML reference for Google Maps,支持LatLonBox,旋转不是:
KML Element Supported in Google Maps?
<LatLonBox> yes
<rotation> no
因此,您需要在北/东/西边界(非旋转的LatLonBox)上进行叠加对齐,以便在Google地图上工作。
您的计算机LatLonBox(小蓝框)有问题,您想要绿色框:
我认为解决此问题的唯一方法是将原始图像旋转并保存在北/东/西边界上对齐的图像,这些图像适合较大的框。
要么以某种方式制作支持旋转的自定义叠加层。