Phonegap Build中的地理位置白屏
Posted
技术标签:
【中文标题】Phonegap Build中的地理位置白屏【英文标题】:Geolocation White Screen in Phonegap Build 【发布时间】:2013-11-11 09:23:53 【问题描述】:我正在尝试在我的 phonegap 构建中显示跟踪用户位置的地图。我正在尝试使用这个例子,
http://view.jquerymobile.com/master/demos/map-geolocation/
我已经将html css和js添加到我的应用程序中并添加了
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<feature name="http://api.phonegap.com/1.0/network"/>
到我的 config.xml 文件。
我得到的只是一个没有加载的白屏。
我做错了什么!?!?
谢谢各位!过去你们都帮了我很多,这是我完成这个应用程序所需的最后一件事!
再次提前感谢!
我使用的html代码是
<div role="main" class="ui-content" id="map-canvas"></div>
我使用的css代码是
#map-page, #map-canvas width: 100%; height: 100%; padding: 0;
我使用的js代码是
<script>
$( document ).on( "pageinit", "#map-page", function()
var defaultLatLng = new google.maps.LatLng(34.0983425, -118.3267434); // Default to Hollywood, CA when no geolocation support
if ( navigator.geolocation )
function success(pos)
// Location found, show map with these coordinates
drawMap(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
function fail(error)
drawMap(defaultLatLng); // Failed to find location, show default map
// Find the users current position. Cache the location for 5 minutes, timeout after 6 seconds
navigator.geolocation.getCurrentPosition(success, fail, maximumAge: 500000, enableHighAccuracy:true, timeout: 6000);
else
drawMap(defaultLatLng); // No geolocation support, show default map
function drawMap(latlng)
var myOptions =
zoom: 10,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
;
var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
// Add an overlay to the map of current lat/lng
var marker = new google.maps.Marker(
position: latlng,
map: map,
title: "Greetings!"
);
);
</script>
我把我的 js 放在我的 html 之前,就在
之后<div data-role="content" class="content">
但我也试过把它放在头上。
【问题讨论】:
【参考方案1】:尝试在地理调用之前将 lat 和 lng var 设置为 0。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
navigator.geolocation.getCurrentPosition(onSuccess, onError, maximumAge:60000, timeout:5000, enableHighAccuracy:true );
var lat = 0;
var lng = 0;
function onSuccess(position)
lat += position.coords.latitude
lng += position.coords.longitude
【讨论】:
【参考方案2】:您的 phonegap 项目中可能没有地理定位插件。
http://docs.phonegap.com/en/3.3.0/cordova_geolocation_geolocation.md.html#Geolocation
cordova 插件添加 org.apache.cordova.geolocation
【讨论】:
以上是关于Phonegap Build中的地理位置白屏的主要内容,如果未能解决你的问题,请参考以下文章
添加 config.xml 后,地理位置无法与 Phonegap Build 一起使用