在我谈到我的实际问题之前,有点旁白:
几个月前,我遇到了一个问题,当我收到 AJAX 调用(大约每分钟两次)时,我需要通过 javascript 动态调整 Google Earth Balloon 的大小。有时每次调用只需要将气球增加一两个像素,这不是一个大问题。主要问题是,在某些(很多)时间,我返回的数据需要气球更大,这会导致出现滚动条(对我工作的公司来说这是一个不良影响)。最终,在向它扔了几天代码之后,我找到了一种非常 hacky 的方法来让气球按照我想要的方式调整大小。在获取我的数据并用新数据重新填充气球后,我会称之为:
setTimeout(window.location.reload, 250);
我有一个理论认为这会起作用,因为在 Google 地球应用程序(客户端和插件版本)中,我可以右键单击气球并单击“重新加载”,然后气球会按照我想要的方式调整它的大小。显然,考虑到如果我在普通浏览器中使用相同的代码,这个 hack 有点可疑,页面只会无限重新加载,所以我还必须想办法确定我是在 Google Bubble 中还是在浏览器中这个网页的版本(我找到了一种方法,但它并不重要或与我最终要解决的问题无关)。现在办公室周围的事情变得不那么混乱了,我想确切地找出为什么会这样。
最后,我的问题是:Google Earth API 是否重新定义了 Window 或 Location 对象,还是只是重新定义了 window.location.reload 的工作方式?
我正在使用 Google 地球客户端 v6.1.0.5001 和 Google 地球插件 v6.2.2.6613