Google地图无法在我的PhoneGap Android应用中加载

时间:2013-08-02 20:07:29

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

使用PhoneGap / Cordova时,是否可以使用Google Maps API V3进行移动应用开发?我的索引页面有一个指向地图页面的链接,其中包含以下内容:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> 
    <title>Map Page</title>
</head>
<body>
    <div class="app">
        <div id="map-canvas"></div>
    </div>

    <script type="text/javascript" src="phonegap.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/jquery.ui.map.full.min.js"></script>
    <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    <script type="text/javascript">
    app.initialize();
    </script>
    <script type="text/javascript">
    $('#map-canvas').gmap({'center': '57.7973333,12.0502107', 'zoom': 10, 'disableDefaultUI':false, 'callback': function() {}});
    </script>
</body>
</html>

我包含Google Maps jQuery插件和其他必要文件。当我在我的桌面浏览器中测试应用程序,Ripple,以及(神秘地)在我的旧三星Galaxy S上时,地图加载就好了。当我在Android模拟器或Galaxy S4上尝试时,地图无法加载,我留下了一个空的白页。我可以使用谷歌地图和Android应用程序有不同/更好的方式,还是我需要在上面的代码中更改一些内容?感谢。

2 个答案:

答案 0 :(得分:1)

将脚本标记更改为:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false" />

我相信您使用的是v2,如here

所述

答案 1 :(得分:1)

在我的情况下,无法加载google apis,因为该应用没有访问互联网的权限。 因此,不要忘记在AndroidManifest.xml中为您的应用添加互联网访问权限

<uses-permission android:name="android.permission.INTERNET" />

对于其他功能(位置,相机,...),请确保已为此应用和设备设置了相应的权限