我创建了一个网络链接,该链接引用了另一个KML文件,其中包含要加载到Google地球中的实际数据。我的问题是,如果Google地球中“地方信息”标签下的KML文件文件夹设置为“允许展开此文件夹”,则引用的KML文件中的点数会非常大,以至于会崩溃Google地球(右键单击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>
答案 0 :(得分:0)
尝试将Style元素放在NetworkLink中,而不是Link元素中。 Link没有采用样式选择器,但NetworkLink可以。如果这不起作用,请尝试使用radioFolder的listItemType。
答案 1 :(得分: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。