我正在开发一个应用,我希望在谷歌地图上显示覆盖的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>
答案 0 :(得分:2)
您可以选择将图标存储在与KML相同的级别(例如,在同一文件夹中的同一Web服务器上)或子文件夹,以便相对URL正确解析或嵌入{{3} } file,它基本上是一个“ZIP”文件,带有根KML文件以及KML中引用的任意数量的其他KML文件和内联图标或叠加。
实施例1: KMZ
这里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.kml
在此示例中,图像 googleearth.gif 存储在KMZ文件内的子文件夹图像中,因此下载KMZ文件包括KML和图像。
您可以像在网络服务器上的内容一样布局KMZ文件。
http://kml-samples.googlecode.com/svn/trunk/kml/kmz/balloon/balloon-image-rel.kmz表示它支持KMZ(压缩KML,包括附加图像)。