我为动态更新开发了以下网络链接:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<NetworkLink>
<name>Loads TEST.kml</name>
<Link>
<href>/home/desktop/farhan/test.kml</href>
</Link>
</NetworkLink>
</kml>
Test.kml文件有两个地标。
我的网络链接文件已成功更新Test.kml文件中的更改
现在我想要做的是设置一个'IF'条件,这样如果某个事情是真的那么地标颜色是'绿色'而且'红色'。
我该怎么办?是否需要遵循任何Java API。
答案 0 :(得分:1)
取决于您希望托管KML的方式/位置以及这些条件是什么。
如果样式和条件是静态的,那么您可以使用这些样式生成KML预设,作为KML的一部分。例如,如果要根据某些条件生成KML,例如种群大小&gt; 100K =&gt;红色,尺寸&gt; 50K =&gt;蓝色,否则为白色,其中每个生成的地标将具有适当的共享共享或内联样式。
生成KML的一种流行的Java-API是Java API for KML(或简称JAK)。
如果视图(基于条件)是“动态的”并且是用户选择的,那么您有几个选择:
根据NetworkLinks和radioFolders的不同条件生成地标的不同版本/视图,以加载特定视图。 KML可以静态生成一次,也可以通过Web服务,servlet,CGI脚本等动态生成。
例如,USGS具有多个NetworkLink的地震实时馈送,每个NetworkLink具有针对相同数据的不同视图/颜色/大小方案(例如,按年龄与大小的颜色)。 查看http://earthquake.usgs.gov/earthquakes/feed/earthquakes.kml
使用Google Earth API在HTML和JavaScript的上下文中加载,创建和修改KML,并在Web浏览器中将Google Earth作为插件运行。这需要一些JavaScript编程。
使用示例中显示的NetworkLinks与 NetworkLinkControl 元素相结合,全局更改共享样式。见NetworkLinkControl tutorial。您无法直接在Google地球中向您的KML添加NetworkLinkControl元素,因此您必须手动或以编程方式创作KML。
答案 1 :(得分:0)
使用php,如果你知道它并在你的桌子的帮助下生成kml,你也可以使用jason上面讲述的各种插件和JAK。
你能做的是:
2.运行一个循环,即while循环,它将根据纬度和经度添加地标,并添加kml的其他必要元素,如:
Element ristyle = doc.createElement(“IconStyle”); //这将创建一个Icon。
结果dest = new StreamResult(新文件(“文件位置”));
这将创建新的kml文件
- 在这里放置一个条件,它会像正常循环一样显示你的状况。
5建立网络链接并在此处引用您的kml文件以进行手动更新。
我认为这应该有用