为什么我的 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>