backbone.js+jquery mobile で Google Earth API を使用するにはどうすればよいですか?
backbone.js、underscore.js、jQuery Mobile を使用してアプリケーションを作成しました。Google Earth API については、 https://developers.google.com/earth/documentation/#using_the_google_earth_apiにリストされているサンプル コードを使用しています。
私のテンプレート レンダリング、および他のすべてのページは正常に動作していますが、Google Earth API を 1 つのタグにロードすると、ロードされず、js コンソールに「ERR_INVALID_DIV」というメッセージが表示されます。
Google.earth モジュールは initCallback をコールバックしません。google.earth.createInstance が呼び出されると、常に failureCallback をコールします。
以下のように、私のアプリケーションのサンプルコードを説明します。それに基づいて、コード構造を取得し、問題を解決するのに役立ちます。
以下の私のjsコード、
myjs1.js
var ge;
function init() {
google.earth.createInstance('map3d', initCB, failureCB);
}
function initCB(instance) {
console.log(' init call back call ');
ge = instance;
ge.getWindow().setVisibility(true);
}
function failureCB(errorCode) {
console.log(errorCode);
}
今、私のバックボーンコードは以下のとおりです。
myjs2.js
WebApp.MyPage= Backbone.View.extend({
initialize:function (result) {
this.template =_.template($('#myPage').html());
},
render:function (eventName) {
var self = this;
mydata = object dict of my data;
$(self.el).html(self.template({mydata:mydata}));
google.load("earth", "1");
init();
google.setOnLoadCallback(init);
}
今、私のHTMLコードは次のようになります
<script type="text/template" id="myPage">
<div data-role="page">
<div data-role="content">
<div id="map3d" style="height: 400px; width: 600px;"></div>
</div>
</div>
</script>
myhtml.html
これを修正する方法はありますか?
どんな助けでも感謝します。