如何在网络链接刷新后将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); 
+1

现在应该这样做,谢谢!顺便说一下,我注意到如果链接设置为“在刷新时飞行”,则滑块会自动向前移动,但是,地球正在跟踪轨道。虽然没关系,如果我有一个轨道,它不适合2+。 – m0squito 2013-05-16 12:43:16

+0

啊,是的 - 考虑它你也可以使用每个加载特征的时间基元(而不是当前系统时间)来设置滑块的时间基元。总之,很高兴有帮助。 – Fraser 2013-05-16 13:27:30