0

私の質問にはおそらく簡単な答えがありますが、助けていただければ幸いです。

GE プラグインで ExtJ を使用しています。プラグインを機能させるには、メインの HTML ページに以下を含める必要があります。

<!DOCTYPE html>

<!-- Auto Generated with Sencha Architect -->
<!-- Modifications to this file will be overwritten. -->
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MDS</title>
    <script src="https://www.google.com/jsapi" id="GoogleEarth"></script>
    <script src="/static/googleearth/Ext.ux.GEarthPanel-1.3.js" id="GoogleEarth">    </script>
    <script type="text/javascript" src="app.js"></script>

    <script type="text/javascript">
        google.load("earth", "1");
        google.load("maps", "2.xx");
    </script>
</head>
<body></body>
</html>

次のコードを削除して、javascript だけで実行しようとすると、ページが読み込まれ続けるようです。

    <script type="text/javascript">
        google.load("earth", "1");
        google.load("maps", "2.xx");
    </script>

コードを削除して独自の .js ファイル内に貼り付けても、問題は解決しません。

たとえば、使用

<script type="text/javascript" src="/static/GoogleEarthStartup.js" id="Test"></script>

のような内容で

google.load("earth", "1");
google.load("maps", "2.xx");

スクリプトタグでメインページにとどまりたいようです。

この問題を回避できる方法はありますか?

質問する主な理由は、プロジェクトを保存するたびにメインの html を上書きするパッケージを使用していることです。

このパッケージでは、上記のリンクからスクリプトを追加できますが、結果に違いはありません。

TypeError: google.earth is undefinedというエラーが表示 されます

ご意見をお聞かせください。

4

1 に答える 1

0

おそらく、単にスクリプト要素の順序です。

スクリプトはドキュメント内の順序で実行されるため、エラーは、ファイルが実行される前にapp.js何かExt.ux.GEarthPanel-1.3.jsが参照されているためです。つまり、まだ呼び出されていないためです。google.earth GoogleEarthStartup.jsgoogle.earth is undefinedgoogle.load("earth", "1");

次のようにスクリプト要素を単純に並べ替えてみてください...

<script type="text/javascript" src="//www.google.com/jsapi" id="GoogleEarth"></script>
<script type="text/javascript" src="/static/GoogleEarthStartup.js" id="Test"></script> 
<script type="text/javascript" src="/static/googleearth/Ext.ux.GEarthPanel-1.3.js" id="GoogleEarth"></script>
<script type="text/javascript" src="app.js"></script>
于 2013-05-29T07:59:18.920 に答える