如何创建不允许展开文件夹的 Google 地球 KML 网络链接



我创建了一个网络链接,该链接引用了另一个KML文件,其中包含要加载到Google地球的实际数据。我的问题是,引用的 KML 文件中的点数太大,如果 Google 地球中"位置"选项卡下的 KML 文件夹设置为"允许展开此文件夹"(右键单击 KML,属性),则会导致 Google 地球崩溃。默认情况下,此复选框处于选中状态。我想这样做,以便默认情况下我创建的文件夹的每个网络链接都无法扩展。

我已经在谷歌地球KML教程中查找了checkHideChildren,但该行没有提供任何结果,我不完全确定我应该在网络链接KML中放置该行的位置。

这是示例代码,如果您能指出放置这行代码的方向,或者完全不同的方法,将不胜感激!

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<NetworkLink>
<name>
CPU
</name>
<refreshVisibility>1</refreshVisibility>
<Link id="GPS_Plotter Updater">
<href>CPU.kml</href>
<Style id="style1"><ListStyle>
<listItemType>checkHideChildren</listItemType> <-- this is the line that should be hiding the children points of the KML!
</ListStyle>
</Style>
<styleUrl>#style1</styleUrl>
<refreshMode>onInterval</refreshMode>
<refreshInterval>1</refreshInterval>
<viewRefreshMode>onRegion</viewRefreshMode>
<viewRefreshTime>1</viewRefreshTime>
</Link>
</NetworkLink>
</kml>

尝试将 Style 元素放在 NetworkLink 中,而不是 Link 元素中。Link不需要样式选择器,但NetworkLink需要。如果这不起作用,请尝试 radioFolder 的 listItemType 代替。

除了Mano Marks的建议之外,您还需要将styleUrl元素移动到NetworkLink,否则它将不适用。请注意,在您的示例中,您有 viewRefreshMode=onRegion,但没有为其定义区域。

这是禁止显示网络链接内容的完整工作示例。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
    <NetworkLink>
        <name>CPU</name>
        <styleUrl>#style1</styleUrl>
        <Style id="style1">
                <ListStyle>
                    <listItemType>checkHideChildren</listItemType>
                </ListStyle>
        </Style>
        <Region>
                <!-- define region here -->
        </Region>
        <refreshVisibility>1</refreshVisibility>        
        <Link id="GPS_Plotter_Updater">
            <href>CPU.kml</href>
            <refreshMode>onInterval</refreshMode>
            <refreshInterval>1</refreshInterval>
            <viewRefreshMode>onRegion</viewRefreshMode>
            <viewRefreshTime>1</viewRefreshTime>
        </Link> 
    </NetworkLink>
</kml>

您可以通过验证 KML 来捕获此类错误。尝试使用 Galdos KML 验证器。

相关内容

最新更新