当前位置: 首页 > 知识库问答 >
问题:

将谷歌地球kml转换为谷歌地图kml-使用图像覆盖

司马羽
2023-03-14

我用谷歌地球创建了一个kml文件,它使用外部图像创建了一个覆盖层。它工作得很好,我想找到一种相当方便的转换kml的方法,这样谷歌地图就可以以类似的方式读取和显示它。

谷歌地图不能处理谷歌地球坐标,所以我试图自己转换它们。例如,我替换了地球坐标:

<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吗?

共有1个答案

闻人景澄
2023-03-14

根据KML引用a

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/GoogleEarthPolygon.kml

根据谷歌地图的KML参考,支持LatLonBox,旋转不是:

 KML Element    Supported in Google Maps? 
 <LatLonBox>    yes
 <rotation>     no

因此,您需要使覆盖在北/东南/西边界(非旋转的LatLonBox)上对齐,才能在Google地图上工作。

您的计算机LatLonBox(蓝色小框)有问题,您想要绿色框:

http://www.geocodezip.com/v3_GoogleEx_layer-kml_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/GoogleEarthPolygonA.kml

我认为解决这个问题的唯一方法是将原始图像旋转,然后保存一个与北/东南/西边界对齐的图像,并将其放在更大的框中。

或者创建一个支持旋转的自定义覆盖。

 类似资料:
  • 我有一个KMZ,它也包含区域多边形和城市点(12个谷歌引脚),但它们不会出现在地图上,尽管如你所见已打开。如何可见它们?有人能帮我吗? 这是地图:http://goo.gl/maps/Nbrfq 安得烈

  • 我有一个嵌入了谷歌地图视图的html文件,我正在使用JavaScript将一个单独的kml文件的数据加载到谷歌地图中。在KML文件中,我有汽车路线的纬度/经度坐标,我使用LineString函数将坐标连接到一条直线上。我想知道现在如何在由给定坐标绘制的线串上设置一个placemark的动画。 我已经看了这个例子,这是我试图做的,但是这个例子没有使用KML文件。此示例将通过纬度和经度坐标设置路线动画

  • 我有大约1200点的谷歌地图。当我试图将其保存为KML或Google Earth中的视图时,只有1000点。是否有办法(例如使用一些API)下载所有点(我不需要KML-我只需要带描述的坐标-可能是其他格式)? 地图可以在这里找到。当您保存KML将没有从第6页点。

  • 我有一个网页上的现有地图,使用以下脚本段正确缩放和居中:var mapOptions={center:{lat: 43.57023,lng:-79.48676},缩放: 12}map=newgoogle.maps.Map(document.getElementById(地图画布), mapOptions); 然后,我使用以下命令添加kml层:var myLayer=new google.maps.

  • 我的目标是能够使用KML文件在谷歌地球的定义区域上绘制一个阴影多边形。我已经创建了一个KML文档与一个地方标志和一个多边形所需的坐标,并能够导入到谷歌我的地图文件和显示多边形。然而,当我用谷歌地球打开同一个文件时,坐标似乎被不同地解析,多边形也不正确(见图)。有什么我错过了我的KML文件,导致谷歌地球这样做? 这些是原始文件坐标。 如果我从google earth复制多边形并将其粘贴到文本文件中作

  • 所以我看到了一个特殊的例外,我敢肯定的是谷歌地图的绘图代码。 我有一个片段,在那里我以编程方式添加了一个支持地图片段,然后我在其中操纵谷歌地图实例。 这是stacktrace: 我无法可靠地复制它(尽管这种情况经常发生),我已经查看了ReadWriteDirectByteBuffer和ShortToByteBufferAdapter,但没有任何东西突然出现在我面前。 有什么想法吗?