【问题标题】:How to create Google Earth KML network link that does not allow folder to be expanded如何创建不允许扩展文件夹的 Google 地球 KML 网络链接
【发布时间】:2012-09-21 18:48:37
【问题描述】:

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

【问题讨论】:

    标签: kml google-earth


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      除了 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-11
        • 1970-01-01
        • 2013-02-26
        • 2015-09-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多