Android:Google-Map无法与Phonegap配合使用

时间:2012-10-02 09:50:13

标签: android google-maps cordova google-maps-api-3

我试图让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”这样的东西。

如果您需要进一步的信息,请问我。

//修改

它仍然无法正常工作。我找到了另一个解决方案,虽然这是一个大混乱。如果有人能够上传好的代码,请选择

2 个答案:

答案 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