首页 > 解决方案 > 将 KMZ 文件上传到我的 Google 地图中,并在地标描述中添加图片

问题描述

我正在创建一个可以导入到我的 Google 地图的 .KMZ 文件,并且我想使用图像来描述一些地标。KMZ 格式只是一个压缩文件夹,其中包含带有结构的 KML 文件,然后是图像文件。问题是我不知道是否/如何可以链接 KML 中的图像文件以供 Google 解析和使用它们。目前我的结构是这样的:

main.kmz
    -main.kml
    -image.jpg

在 main.kmz 我链接到我的图像为

<Placemark>
    <name>test</name>
    <description>
         <![CDATA[<img src="image.jpg" width='600' />]]>
    </description>
    <Point><coordinates>153.4380409849745,-28.07224651054966,10.2340928109942</coordinates></Point>
</Placemark>

但这不起作用,我的地图不处理图像,我得到的只是一个黑色矩形。奇怪的是,如果我将相同的文件导入 Google 地球桌面应用程序,该文件会被正确上传和处理并显示出来。

当我通过“我的地图”界面手动上传图像时,它会正确显示,如果我将图层导出为 KMZ,我会看到他们的图像链接为

  <description><![CDATA[<img src="https://lh3.googleusercontent.com/cbMcdkW0FH86QPYuJH_hOBeH0dMgcgevmf9l37Lk5O2Ap0r_gTrZyuREZumY11XW2E3I0r7hpHOpGlCSVG6jMJJFVFbTpxCw71hZORu8YRtyPdv0nRGprLkMefNBCNj4wpHi" height="200" width="auto" />]]></description>

这显示正确。所以理想情况下,这就是我想要的结果,但我不确定在导入时是否有任何方法让 Google 知道图像,因此它以与手动上传时类似的方式存储它,然后在图像描述中链接它.

标签: imagegoogle-mapsuploadkmlkmz

解决方案


当您在 KMZ 文件中包含图像并在地球或地图中打开它时,它不会将其“上传”到托管服务器,而是直接在 KMZ 之外的查看器中本地使用它。MyMaps 无法做到这一点,并且需要在某处在线托管图像。如您所见,当您手动添加图像时,MyMaps 会将其上传到托管服务器,但不会对嵌入在导入的 KMZ 中的图像执行此操作,这就是它不适合您的原因。

您的 KMZ 应该在 Google Maps API 中工作,如果您想使用它来显示它。或者,您可以将图像上传到某处的公共主机,然后通过 KMZ 中气球中的公共 URL 添加它们。


推荐阅读