情况
我目前正在为希望进行Google地图集成的客户开发应用.他希望地图显示从用户到办公室的路线.
我正在使用Windows 8,没有任何IDE(使用Sublime Text 2).
我已经设法在我的Chrome浏览器本地工作了a)b)在PhoneGap/Cordova> 2.0.0的Ripple仿真器中.但是,每当我尝试时,它根本无法在我的Android手机(HTC Sensation)上运行.它让我疯狂,我正准备放弃它并找到一些其他的"笨蛋"解决方案(如静态地图或geo:url界面).
在我尝试实际实现地图之前,我运行了PhoneGap Geolocation完整示例,在此处找到.我注意到我的Android手机确实正确显示了我当前的位置(纬度/长度/时间戳等).因此,我相信我的手机上设置了正确的权限(位置 - >等).
问题
Google地图根本不会显示在我的Android设备上.我看到红色背景(用于调试),所以我知道高度和宽度都很好.但我没有看到谷歌地图的任何迹象(没有按钮,覆盖,网格或任何东西).
代码
用于加载jQuery,Cordova和Maps API v3的HTML代码:
<script type="text/javascript" src="js/jquery-1.10.0.min.js" ></script>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=true&language=da"></script>
Run Code Online (Sandbox Code Playgroud)
这是我用来放置地图的HTML:
<div id="map-canvas"
style="display:block;
overflow:hidden;
position:relative;
border:1px solid #aaaaaa;
width: 100%;
height: 400px;
background: red;">
</div>
<div id="map-panel" style="width:100%; height:90%; position:relative; "></div>
Run Code Online (Sandbox Code Playgroud)
这是我的完整Google Maps JS(在自己的文件中):
var map,
userPosition,
officeLocation,
directionsDisplay,
directionsService;
google.maps.event.addDomListener(window, 'load', setup);
function setup() {
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
navigator.geolocation.getCurrentPosition(onSuccess, onError, {enableHighAccuracy:true});
}
} …Run Code Online (Sandbox Code Playgroud)