KML newb在这里。第一篇文章。
使用GE客户端应用程序,v7.12。有相当简单的KML doc包含几个GPS基于时间的面包屑点的地标。写了一个简单的C#app来生成kml doc。期望为其他跟踪实体提供更多类似的文件。我得到了这个工作,并决定通过HTML来想象地标气球。最终决定我希望在气球中有链接移动到上一个或下一个地标。在此网站上查找建议并实现目标。
由于我的应用程序有时可能会更新(通过重写)文档,因此不必手动重新加载它。此外,最终将有其他跟踪实体的其他文档,全部由我的应用程序控制/更新。好的 - NetworkLink救援。很酷的功能,让我可以选择动态修改networklinks文件,只包含已更改的实体doc文件。加上大奖金 - 转向' flyToView'关闭,以便当重新加载网络链接文件或刷新时,我不会被我当前正在查看的默认情况下的任何内容所取消:LookAt'这通常似乎是在直接加载文档时发生的(任何人都知道解决这个问题的方法吗?)
非常高兴,直到我发现当我点击我的一个气球链接转到下一个或上一个点时,GE决定在临时位置下创建整个包含文档的新副本,现在我有两整套显示的点,一个隐藏另一个。从表面上看,我的next / prev链接似乎正在工作,但它们实际上只与新创建的doc一起使用。为了测试,我用一组完全不同的位置改变原始文档。重新加载networklinks doc以引入新的含点文档并查看新的点集。但是当我在新的上使用任何气球链接时,他们会跳到GE自己创建的旧文档上的点。删除GE创建的版本,单击气球和中提琴,GE创建它的新副本,然后返回到我们开始的位置。令人沮丧。
作为地标ID,我使用" TPn"等字符串,其中n为增量。在我的气球链接中,我链接到片段URL,例如href ="#TPn-1"并且href =" TPn + 1",即TP2链接到TP1和TP3等,我在最后都考虑了这两个地标,因此他们没有与不存在的ID的错误链接。顺便说一句,我发现当你激活链接到一个不存在的片段URL时,GE也决定创建该文件的副本,即使该文件是直接加载而不是通过网络链接加载,所以你再次拥有一个点设置在另一个之上。但是,我确信在这种情况下我没有不良链接。
任何可以脱落的灯都会受到赞赏。或者实现我的目标的替代方法。毕竟我是一个KML新手,也许还有我做错的事情。
我想如果必须的话,我会牺牲气球链接。能够为一组文件重新加载一个网络链接文档+定时刷新+关闭flyToView现在太可取了。
谢谢!
编辑:附加信息 - 仅在使用气球链接时创建重复文档。单击地标下树视图中的链接不会导致此异常。 (在代码示例中,删除每个地标的空片段元素以查看此效果。)此外,似乎指向 ANY 片段URL的气球链接会导致异常,例如链接返回到包含文件夹或文档。
编辑:添加了2个代码示例。这些都可以减少我的基本需求,但仍然可以证明这个问题。有趣的是,当数据文件'文件'时,注意到GE树视图的不同之处。元素有一个' id'定义与否,但它与问题无关。当id被省略时,我更喜欢外观。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- File is: C:\myTwoDataPoints.kml -->
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document id="myDoc">
<name>Two Points Doc Name Here</name>
<description>Doc Description Here</description>
<visibility>0</visibility>
<Snippet>Contains Two Data Points</Snippet>
<Style id="myStyle">
<BalloonStyle >
<text><![CDATA[Link To: $[description] ]]></text>
</BalloonStyle>
</Style>
<Folder>
<name>Points Folder</name>
<open>1</open>
<Placemark id="TP1">
<name>Miami, FL, USA</name>
<Snippet />
<description><![CDATA[<a href="#TP2;balloonFlyto">New York</a>]]></description>
<styleUrl>#myStyle</styleUrl>
<Point>
<coordinates>-80.226439,25.788969,0</coordinates>
</Point>
</Placemark>
<Placemark id="TP2">
<name>New York, NY, USA</name>
<Snippet />
<description><![CDATA[<a href="#TP1;balloonFlyto">Miami</a>]]></description>
<styleUrl>#myStyle</styleUrl>
<Point>
<coordinates>-74.005973,40.714353,0</coordinates>
</Point>
</Placemark>
</Folder>
</Document>
</kml>
和...
<?xml version="1.0" encoding="UTF-8"?>
<!-- File is: C:\myNetworkLink.kml -->
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>NetworkLink Document Name Here</name>
<visibility>0</visibility>
<open>1</open>
<NetworkLink>
<name>NetworkLink Name Here</name>
<refreshVisibility>1</refreshVisibility>
<flyToView>0</flyToView>
<Link><href>file:///C:/myTwoDataPoints.kml</href></Link>
</NetworkLink>
</Document>
</kml>