我试图让Android的Google-Map.api与Phonegap配合使用。我不知道这个问题。到目前为止我尝试了一切。请检查我的代码。我没有得到任何错误,我也包括jQueryMobile。为凌乱的代码道歉。
的index.html: - 包括所有类型的东西 -
google.html您:
<body>
<div data-role="page" id="foo" data-theme="c">
<div data-role="content">
<div id="map_canvas"></div>
</div>
</div>
<script type="text/javascript" src="googlemap.js"></script>
<script type="text/javascript">
function onDeviceReady() {
var map = new GoogleMap();
map.initialize();
}
</script>
googlemap.js与本教程中的内容相同: christianengvall.se
对Google.html的锚定超文本引用包含ref =“外部”属性。我不知道它是否重要。
我还在res / xml / cordova.xml中添加了白名单(up-2-date?)
我的清单文件拥有android可能拥有的所有权限。 (临时)
当我在真实设备(三星Galaxy S3)上运行/调试此页面时,我会看到一个白色屏幕。
可能存在的问题可能是Google.html的数据角色属性。也许有像data-role =“mapload”这样的东西。
如果您需要进一步的信息,请问我。
//修改
它仍然无法正常工作。我找到了另一个解决方案,虽然这是一个大混乱。如果有人能够上传好的代码,请选择
答案 0 :(得分:2)
你的代码应该没问题如果你有正确的CSS ,禁用脚本,并添加到CSS文件:
#map_canvas {background: red;}
你看到红色的盒子了吗?如果没有,那么给它一个高度,height: 100%
在jquerymobile中是一个很好的高度,如果你不使用页脚,因为它在内容之上流动(标题是OK)。如果您使用页脚并想要100%的高度,请使用$("#map_content").css("height", ($("*[data-rel=content]").height()-$("*[data-rel=footer]").height())+"px");
其他一些指示:
如果您遇到问题,请尝试adb logcat
(如果您不喜欢终端,可以在eclipse中找到一个窗口),它可以为您提供一些指示。
据我所知,属性rel=external
无关紧要。
我使用的白名单是:
<access origin="http://127.0.0.1*"/> <!-- allow local pages -->
<access origin="http://google.com" subdomains="true"/>
<access origin="http://gstatic.com" subdomains="true"/>
<access origin="https://google.com" subdomains="true"/>
<access origin="https://gstatic.com" subdomains="true"/>
答案 1 :(得分:0)
另一个可能的问题:你复制了吗
function onBodyLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
}
来自the example?