在Google地球插件

时间:2015-07-07 21:41:44

标签: javascript jquery html jquery-ui-dialog google-earth-plugin

当我的网络应用程序最初加载时,目标是在Google地球插件上呈现一个jquery ui对话框。但是,我的当前代码对话框在Mac OS上通过Google地球插件成功呈现,但在Windows 8上失败。在两个操作系统上使用Chromium作为浏览器。

我已经阅读herehere使用iframe填充程序或z-indexing可能有所帮助(不确定如何将其与jquery对话框合并),但它不是Windows特定的和我还想知道是否有理由不使用iframe shim或z-indexing仍可在Mac上运行?有没有什么特别关于Windows的解决方案可能比使用shim或z-indexing更简单?

此外,仅在Windows上,我注意到谷歌地球插件在其div中渲染后,地图上有一个洞,我可以看到背景图层。有关于此的任何想法吗?

代码段

HTML片段

<button id="btn">Open Dialog</button>
<div id='containter'>
  <div id="gEarth" ></div>
</div>
<div id='dialog'></div>

对话框事件监听器

(function(window, document) {
$(document).ready(function () {
    $dialog = $('#dialog').html('Dialog Demo...note background of this part renders under gEarth').dialog({
        autoOpen: false,
        height: 350,
        width: 350,
        modal: true,
        title: 'My Dialog'
      });

      $('#btn').click(function () {
          $dialog.dialog('open');
          return false;
      });
  });
})(this, this.document);

加载谷歌地球

(function(window, document) {
  var ge;
  google.load("earth", "1", {"other_params":"sensor=true_or_false"});

  function init() {
    google.earth.createInstance('gEarth', initCB, failureCB);
  }

  function initCB(instance) {
    ge = instance;
    ge.getWindow().setVisibility(true);
  }

  function failureCB(errorCode) {
  }

  google.setOnLoadCallback(init);
  console.log('gEarth initialized.');
})(this, this.document);

0 个答案:

没有答案