1

我创建了一个网络链接,该链接引用另一个 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>
4

2 回答 2

0

尝试将 Style 元素放入 NetworkLink,而不是 Link 元素。Link 不采用样式选择器,但 NetworkLink 采用。如果这不起作用,请尝试使用 listItemType 的 radioFolder。

于 2012-10-02T15:26:03.310 回答
0

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

这是抑制 NetworkLink 内容的完整工作示例。

<?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 Validator

于 2012-10-13T17:59:06.677 回答