【发布时间】:2013-11-25 21:45:22
【问题描述】:
我在 build.phonegap.com 的应用程序中使用地理定位,但我有一点问题(或疑问)关于如何在没有启用 GPS 的情况下在 android 中使用它。
在 android 中使用此代码,它在设备中启用 GPS,它工作正常,但禁用 gps,代码给出错误(我的脚本中的默认错误)
watchID=navigator.geolocation.getCurrentPosition(handle_geolocation_query, handle_errors, {timeout: 600000, enableHighAccuracy: true});
}
function handle_errors(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED: window.localStorage.setItem("geo_aviso", "latitud", position.coords.latitude);
break;
case error.POSITION_UNAVAILABLE: window.localStorage.setItem("geo_aviso", "No podemos encontrar localizaión verifica que la tienes activada en tu dispositivo");
break;
case error.TIMEOUT: window.localStorage.setItem("geo_aviso", "Tiempo de espera agotado para encontrar tu localización vuelve a entrar en la app");
break;
default: window.localStorage.setItem("geo_aviso", "No podemos detectar tu localización, comprueba que tienes el GPS activado en tu dispositivo");
break;
}
}
function handle_geolocation_query(position){
if (position.coords.latitude!=null)
{
some code here
;}
如果我在不使用 enableHighAccuracy: true 的情况下使用相同的代码,则会在两种情况下(启用和未启用 gps)都提供地理位置,但从不使用 GPS。
这是预期的结果还是我必须使用不同的代码?
另一个问题是,当 GPS 可用但应用无法获取位置时(如果您不在露天),则不会给出位置(它必须根据移动网络或 wifi 给出位置)
在 android 中测试:4.3 (HTC One)
【问题讨论】:
标签: android cordova geolocation gps