为什么我的 NetworkLink 在嵌套的 KMZ 中不起作用?
Why is my NetworkLink not working inside a nested KMZ?
我的问题是我想将一个 kmz 文件 (nest1.kmz) 嵌套在另一个 kmz 文件 (root.kmz) 中,并引用另一个嵌套的 .kml 文件 (nest2.kml) .
当我尝试实现此目的时,引用 kml 文件的网络 link 未加载。
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>
如果您希望根 KMZ 文件引用其他子 KMZ 文件,则子 KMZ 文件不应是根 KMZ 文件的子条目,而应位于网络服务器或文件系统中的相同相对上下文中.
Google Earth 支持在 KMZ 文件中嵌套大量 KML 文件,但 不 支持在父 KMZ 文件中嵌套 KMZ 文件。将内容布局为文件结构,其中 1) 所有子 kml 文件都在一个 root.kmz 文件中,或者 2) 子 kmz 文件与根 kml 或 kmz 文件位于同一位置。
文件系统或 Web 服务器将具有以下结构:
结构一:
root.kmz
nest1/nested1.kml
nest2/nested2.kml
结构二:
root.kmz
nest1/nested1.kmz
nest2/nested2.kmz
root.kmz可以参考nest1/nested1.kmz,nested1.kmz可以参考nested2.kmz.
Google Earth 还支持 KMZ 文件中的子文件引用,因此 root.kmz 可以直接引用 nest2/nest2.kml,如果它包含在 nested1.kmz 中.不推荐这种做法,因为 Google Earth 以外的应用程序可能不支持它。
<Link>
<href>nested1.kmz/nest2/nested2.kml</href>
</Link>
我的问题是我想将一个 kmz 文件 (nest1.kmz) 嵌套在另一个 kmz 文件 (root.kmz) 中,并引用另一个嵌套的 .kml 文件 (nest2.kml) .
当我尝试实现此目的时,引用 kml 文件的网络 link 未加载。
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>
如果您希望根 KMZ 文件引用其他子 KMZ 文件,则子 KMZ 文件不应是根 KMZ 文件的子条目,而应位于网络服务器或文件系统中的相同相对上下文中.
Google Earth 支持在 KMZ 文件中嵌套大量 KML 文件,但 不 支持在父 KMZ 文件中嵌套 KMZ 文件。将内容布局为文件结构,其中 1) 所有子 kml 文件都在一个 root.kmz 文件中,或者 2) 子 kmz 文件与根 kml 或 kmz 文件位于同一位置。
文件系统或 Web 服务器将具有以下结构:
结构一:
root.kmz
nest1/nested1.kml
nest2/nested2.kml
结构二:
root.kmz
nest1/nested1.kmz
nest2/nested2.kmz
root.kmz可以参考nest1/nested1.kmz,nested1.kmz可以参考nested2.kmz.
Google Earth 还支持 KMZ 文件中的子文件引用,因此 root.kmz 可以直接引用 nest2/nest2.kml,如果它包含在 nested1.kmz 中.不推荐这种做法,因为 Google Earth 以外的应用程序可能不支持它。
<Link>
<href>nested1.kmz/nest2/nested2.kml</href>
</Link>