Как я могу использовать API Google Планета Земля с backbone.js + jquery Mobile?
Я создал приложение, используя backbone.js, underscore.js и jQuery Mobile. Для API Google Планета Земля я использую образец кода, указанный на странице https://developers.google.com/earth/documentation/#using_the_google_earth_api
Рендеринг моего шаблона и все остальные страницы работают нормально. Но когда я загружаю API Google Earth в один тег, он не загружается, и в консоли js я получаю сообщение: «ERR_INVALID_DIV».
Модуль Google.earth никогда не вызывает initCallback, он всегда вызывает failureCallback при вызове google.earth.createInstance.
Я объясняю пример кода моего приложения, как показано ниже, поэтому, возможно, вы получите мою структуру кода, и это поможет вам решить мою проблему.
мой код 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);
}
Теперь мой код Backbone, как показано ниже,
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
Есть ли способ исправить это?
Любая помощь приветствуется.