如何在网络链接刷新后将Google地球插件的时间滑块设置为当前时间?
问题描述:
我正在尝试追踪运行mapmytracks.com应用程序的设备的位置。该网站允许用户将GPS轨道导出为KML文件,包括正在进行的活动。在我的GWT应用程序中,我创建了一个使用URL到mapmytracks.com的KML文件的网络链接。如何在网络链接刷新后将Google地球插件的时间滑块设置为当前时间?
该链接设置为每隔1秒刷新一次。每次刷新发生时,插件会提取新数据,并且我看到时间滑块中反映出的数据 - 有更多空间将其向前移动。
但是,为了看到当前位置,我必须手动将滑块移动到最右边的位置。我知道如何将插件中的时间设置为当前时间,但是,如何在每次刷新网络链接时告诉插件执行此操作?是否可以添加某种处理程序到网络链接?
答
由于没有暴露的事件,因此无法向网络链接添加处理程序。
但是,您可以简单地将时间滑块设置为每秒当前系统时间以跟上您的Kml数据。
// sets the current slider position to the current system time
function updateTime() {
ge.getTime().setTimePrimitive(ge.getTime().getSystemTime().getWhen().get());
}
var timer = setInterval(updateTime, 1000); //update the slider every second.
很明显,你可以添加其他的检查,看是否有特定的元素存在,或者如果滑动条等
如果需要停止计时器您只需拨打
clearInterval(timer);
现在应该这样做,谢谢!顺便说一下,我注意到如果链接设置为“在刷新时飞行”,则滑块会自动向前移动,但是,地球正在跟踪轨道。虽然没关系,如果我有一个轨道,它不适合2+。 – m0squito 2013-05-16 12:43:16
啊,是的 - 考虑它你也可以使用每个加载特征的时间基元(而不是当前系统时间)来设置滑块的时间基元。总之,很高兴有帮助。 – Fraser 2013-05-16 13:27:30