我的问题是我希望将kmz文件(nest1.kmz)嵌套在另一个kmz文件(root.kmz)中,并引用另一个嵌套的.kml文件(nest2.kml)。
Nesting KMZ files的最佳答案使它看起来有希望成为可能,所以我在这里做错了吗?
root.kmz >root.kml
>[nest1] >
>nest1.kmz >
>nest1.kml
>[nest2] >
>nest2.kml
3个文件的代码如下:
root.kml
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>root.kmz</name>
<NetworkLink>
<name>nest1.kmz</name>
<Link>
<href>nest1/nest1.kmz</href>
</Link>
</NetworkLink>
</Document>
</kml>
nest1.kml
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>nest1.kmz</name>
<NetworkLink>
<name>nest2.kml</name>
<Link>
<href>nest2/nest2.kml</href>
</Link>
</NetworkLink>
<Placemark>
<Point>
<coordinates>175.589370309749,-39.5968230904137,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
nest2.kml
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>nest2.kml</name>
<Placemark>
<Point>
<coordinates>176.589370309749,-39.5968230904137,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
答案 0 :(得分:1)
如果您希望根KMZ文件引用其他子KMZ文件,则子KMZ文件不应是根KMZ文件的子条目,而是位于Web服务器或文件系统中的相同相对上下文中。 / p>
Google地球支持KMZ文件中的大量嵌套KML文件,但 NOT 支持父KMZ文件中的嵌套KMZ文件。将内容布局为文件结构,其中1)所有sub-kml文件都在单个root.kmz文件中,或者2)sub-kmz文件与根kml或kmz文件位于同一位置。
文件系统或Web服务器具有以下结构:
结构1:
root.kmz
nest1/nested1.kml
nest2/nested2.kml
结构2:
root.kmz
nest1/nested1.kmz
nest2/nested2.kmz
root.kmz可以引用nest1 / nested1.kmz,nested1.kmz可以引用nested2.kmz。
Google地球还支持KMZ文件中的子文件引用,因此root.kmz可以直接引用nest2 / nest2.kml(如果它包含在nested1.kmz中)。不推荐这种做法,因为Google Earth以外的应用程序可能不支持这种做法。
<Link>
<href>nested1.kmz/nest2/nested2.kml</href>
</Link>