我正在创建一个生成Google地球kml的工具,该工具会将时间相关数据显示为巡视中的屏幕叠加层。在可访问互联网的计算机上运行kml时,我可以使用Google Chart API相对轻松地完成此操作,并使用动画更新修改屏幕叠加图标元素内CDATA部分编辑的href元素内的文本字符串对于每个时间步。不幸的是,这个kml生成工具主要是离线使用,而Google Chart API由于其ToS而无法离线使用。
我想到的唯一其他选择是为每个时间步长创建所需叠加文本的图像文件,并在kml中包含所有这些文件。但是这会导致大约1000个或更大的单独图像文件,因此是一个绝对巨大的kml大小,更不用说每次运行我的kml生成工具时生成这些图像文件所需的运行时间。
我正在寻找替代方案,类似于Google Chart API,我可以更新html字符串来修改我想要覆盖的文本。我不确定是否会在本地托管一个可以做同样事情的网页,或者可能从我的kml中下载一些我可以调用的开源JavaScript库(如果其中任何一个都有意义?)
有什么建议吗?
这就是我对Google Chart API的典型调用:
<ScreenOverlay>
<name>Time Overlay</name>
<visibility>1</visibility>
<overlayXY x="1" xunits="fraction" y="1" yunits="fraction"/>
<screenXY x="0.5" xunits="fraction" y="0.5" yunits="fraction"/>
<size x=".15" xunits="fraction" y=".03" yunits="fraction"/>
<Icon id="Time Overlay">
<href><![CDATA[http://chart.apis.google.com/chart?chst=d_text_outline&chld=FFFFFF|14|h|000000|b|17:30:00Z | Mar 24, 2016]]></href>
</Icon>
</ScreenOverlay>
这就是我想要的:
<ScreenOverlay>
<name>Time Overlay</name>
<visibility>1</visibility>
<overlayXY x="1" xunits="fraction" y="1" yunits="fraction"/>
<screenXY x="0.5" xunits="fraction" y="0.5" yunits="fraction"/>
<size x=".15" xunits="fraction" y=".03" yunits="fraction"/>
<Icon id="Time Overlay">
<href><![CDATA[some other local voodoo magic 17:30:00Z | Mar 24, 2016]]></href>
</Icon>
</ScreenOverlay>