-1

我正在开发一个应用程序,我想在其中显示覆盖在谷歌地图上的 kml 文件。这个 kml 文件包含我想为它们设置自定义图标的标记。图标存储在我的电脑上。

我的问题是如何从我的 kml 文件中访问这些图标以便在地图上显示它们。

以下是我试图做的,通过将图标存储在 kkml 文件的同一文件中,但它不起作用。

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>route</name>
    <Placemark>
      <name>445</name>
      <description>Market</description>
      <Style>
            <IconStyle>
              <Icon>
                <href>0.png</href>
              </Icon>
            </IconStyle>
      </Style>
      <Point>
        <coordinates>14.5139685555926,35.898079278121</coordinates>
      </Point>
    </Placemark>
  </Document>
</kml>
4

1 回答 1

2

您可以选择将图标存储在与 KML 相同的级别(例如,在同一文件夹中的同一 Web 服务器上)或子文件夹,以便相关 URL 正确解析或嵌入到KMZ文件中,这基本上是一个带有根 KML 文件的“ZIP”文件以及 KML 中引用的任意数量的其他 KML 文件和内联图标或叠加层。

示例 1: http: //kml-samples.googlecode.com/svn/trunk/kml/kmz/balloon/balloon-image-rel.kml

这里 KML 引用了与 KML 文件相关的图像:

 <description>
        <![CDATA[
        Here is an image:
        <img src="images/googleearth.gif"/>
        ]]>
      </description>

在某些平台上,该图像不起作用,但如果您在本地下载 KML 和图像,那么它将按照您对内嵌图像的预期显示。

示例 2:

http://kml-samples.googlecode.com/svn/trunk/kml/kmz/balloon/balloon-image-rel.kmz

在此示例中,图像googleearth.gif存储在 KMZ 文件中的子文件夹 images 中,因此下载的 KMZ 文件包括 KML 和图像。

您可以像在 Web 服务器上一样布置 KMZ 文件。

谷歌地图文档说它支持 KMZ(压缩的 KML,包括附加的图像)。

于 2013-03-25T20:25:53.473 回答