0

jquery-ui ダイアログ内で Google Earth プラグインをポップアップしています。これは jquery-ui 1.9.2 で動作していましたが、1.10.2 にアップグレードするとプラグインがロードされますが、ダイアログを移動しようとすると、Google Earth が動作を停止し、「Google Earth プラグインに内部エラーが発生しました。ページをリロードしてみてください。」

これは Win7 と OSX 10.8.2 の両方で発生し、Chrome と Safari の両方で発生します。この問題が発生している他の人はいますか? 回避策は?

以下のコードのjsfiddleを次に示します。jquery-ui を 1.9.2 にダウングレードすると、すべて正常に動作します。

<!DOCTYPE HTML>
<html>
    <script type="text/javascript" src="//www.google.com/jsapi"></script>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

    <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
    <link type="text/css" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script>

var loaded = false;

function loadGE() {
    google.load('earth', '1', {
        callback: function () {
            google.earth.createInstance('editmap3d', function (instance) {
                initEditGE(instance);
            }, function () {
                failureGE();
            });
        }
    });
}

function initEditGE(instance) {
    loaded = true;
    ge = instance;

    var lookAt = ge.createLookAt('');
    lookAt.setLatitude(36.584207);
    lookAt.setLongitude(-121.754322);
    lookAt.setRange(5000.0); //default is 0.0

    ge.getView().setAbstractView(lookAt);
    ge.getWindow().setVisibility(true);
    ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
}

function failureGE() {
    console.log("GE failed to load...");
}


$(document).ready(function () {
    $("#opendialog").button().click(function () {
        $("#editDialog").dialog("open");

        if (!loaded) loadGE();
    });

    $("#editDialog").dialog({
        autoOpen: false,
        height: 500,
        width: 500,
        modal: true,
        resizable: false
    });
})


</script>

<body>
    <div>GE in popup</div>
    <button id="opendialog">open</button>
    <div id="editDialog">
        <div id="mapcontainer" style="width:600; height:600;">
            <div id="editmap3d" style="height:100%;"></div>
        </div>

    </div>
</body>
</html>
4

1 に答える 1