我正在使用Google地球5.0客户端。我想通过单击其中一个地标的description / balloonStyle标记中的超链接来更新KML文件(由NetworkLink
加载)。
以下是一个例子:
<?xml version="1.0" encoding="UTF-8"?>
<kml>
<NetworkLink>
<Link>
<href>http://www.example.com/B.kml</href>
</Link>
</NetworkLink>
</kml>
<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document>
<Folder id="entities">
<Folder id="en1_folder">
<Placemark id = "en1_point">
<description>
<a href="http://www.example.com/getConnections.php?en=id1"
type="application/vnd.google-earth.kml+xml"> Get connections </a>
</description>
<Point>
<coordinates>...</coordinates>
</Point>
</Placemark>
</Folder>
There are about 500 such folders, each with its corresponding en# point
containing a description hyperlink.
</Folder>
</Document>
</kml>
如果用户点击超链接,我想生成一组LineStrings,将该点连接到一个或多个其他点。
例如,getConnections.php?en=id1
可以生成如下响应:
<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Update targetHref="http://www.example.com/B.kml">
<Change>
<Folder targetId="en1_folder">
<Placemark id="en1_connections">
<LineString>
<Coordinates>
(en1_coords), (en5_coords), (en7_coords)
</Coordinates>
</LineString>
</Placemark>
</Folder>
</Change>
</Update>
</kml>
这在GE 5.0中不起作用。我了解更新是NetworkLinkControl
的孩子,而NetworkLink
必须由来自与包含它的KML相同的域中的{{1}}请求。
我知道使用一个或多个NetworkLink有几种解决方法,但我很想知道是否仍然存在通过单击描述超链接直接更新相同KML文件的方法。
任何想法都赞赏。
谢谢, 最大