我的KML文件是:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<NetworkLink>
<Link>
<href>http://localhost/test.php</href>
<refreshMode>onInterval</refreshMode>
<refreshInterval>1</refreshInterval>
</Link>
</NetworkLink>
</Document>
</kml>
Localhost / test.php返回:
<Document>
<Placemark>
<name>Testing</name>
<description>
Test
</description>
<Point>
<altitudeMode>absolute</altitudeMode>
<coordinates>0,0,0</coordinates>
</Point>
</Placemark>
</Document>
当你点击图标时,会打开显示“test”的气球,然后在一秒钟后刷新kml,气球关闭,我该如何解决?
答案 0 :(得分:2)
要打开气球,只需在地标
中添加<open>1</open>
标记即可
<Document>
<Placemark>
<name>Testing</name>
<open>1</open>
<description>
Test
</description>
<Point>
<altitudeMode>absolute</altitudeMode>
<coordinates>0,0,0</coordinates>
</Point>
</Placemark>
</Document>
但是,这意味着当链接刷新时,地标将始终打开(气球显示)。
如果你想刷新kml并根据它的当前状态打开或关闭气球,那么你需要查看UPDATE命令,并用它来仅更新当前加载的某些部分KML,而不是替换(重新加载)整个KML。
所以它真的归结为,你为什么要首先刷新KML?
编辑:回答评论中的问题
使用CHANGE
UPDATE
功能
<Update>
<targetHref>http://www.domain.com/file.kml</targetHref>
<Change>
<Point targetId="point123">
<coordinates>-95.48,40.43,0</coordinates>
</Point>
</Change>
</Update>
这会更改id
point123
targetHref
NetworkLink
地标的坐标,该地标在kml中加载为{{1}}(通过{{1}}加载)