2012-11-04 103 views
4

我正在编写一个使用PhoneGap的应用程序,需要将Google地图集成到其中。我已经使用这个样本从谷歌提供的在线文档:PhoneGap Google地图 - 地图不显示

<!DOCTYPE html> 
<html> 
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <style type="text/css"> 
     html { height: 100% } 
     body { height: 100%; margin: 0; padding: 0 } 
     #map_canvas { height: 100% } 
    </style> 
    <script type="text/javascript" 
     src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDlFl3vPEbgzrr-1KX5E20z_1DowB2ASus&sensor=true"> 
    </script> 
    <script type="text/javascript"> 
     function initialize() { 
     var mapOptions = { 
      center: new google.maps.LatLng(-34.397, 150.644), 
      zoom: 8, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     var map = new google.maps.Map(document.getElementById("map_canvas"), 
      mapOptions); 
     } 
    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas" style="width:100%; height:100%"></div> 
    </body> 
</html> 

这正常工作,如果我在我的网页浏览器(Chrome,FF,IE浏览器...)打开它。但是,在我的模拟器(以及设备)中,它只显示一个空白页面。有小费吗?

+0

你的模拟器的第二页(和设备)版本? –

+0

我刚刚复制了上面的代码,并通过build.phonegap.com发送它,我在Android 2.3.4设备上运行了Google Maps。我建议将html和body width属性设置为100%,就像在黑暗中拍摄一样。 –

+0

谢谢你们,我真的解决了这个问题。问题是我有多个html页面,并且这个脚本在第二页上。因此脚本没有执行。 – user10901

回答

6

由于我在同一应用程序上使用多个html页面,因此出现此问题。由于phonegap将使用ajax调用来替换索引页的dom,因此无法在这些页面上加载脚本。

两种解决方案存在这里:

  1. 只使用单一的HTML页面
  2. 要加载使用

    相对= “外部”

+0

谢谢!您应该将您的答案标记为解决方案!给自己打个盹! – StarCub