我发现了很多有关GPS坐标的问题,但没有一个证实使用移动硬件GPS而不是像geoLocation等Web GPS的问题。
我的当前方法:
我正在使用navigator.geolocation.getCurrentPosition()
,纬度/经度
来自Web,以下是代码:
function getGPS(funcCallBack)
{
if (navigator.geolocation)
{
var timeoutVal = getCookie("GPSTimeout");
navigator.geolocation.getCurrentPosition(sucess
,error
,{enableHighAccuracy: true
,timeout: timeoutVal
,maximumAge: 0}
);
}
else{
alert('GPS is turned off, or was not possible to find it. Now, doing the login without localization.');
window.gpsLat = 0;
window.gpsLng = 0;
window.gpsAcc = 0;
funcCallBack();
}
function sucess(position) //sucess
{
window.gpsLat = position.coords.latitude;
window.gpsLng = position.coords.longitude;
window.gpsAcc = position.coords.accuracy;
funcCallBack();
}
function error() //error
{
window.gpsLat = 0;
window.gpsLng = 0;
window.gpsAcc = 0;
funcCallBack();
}
}
我的问题:
有时候我登陆时无法获得GPS坐标(会显示为0),有时候获得的坐标的精确度超过了2000,不够准确。
顺便说一下,我正在使用数据网络服务来测试GPS,但如果使用Wi-Fi连接,则可以以不到100的精度运行。
细节:
也许您在抱怨以下内容:
timeoutVal
:这是一个cookie,内部包含数字5000
。funcCallBack
:这是一个继续登陆操作的函数。window.gpsLat
:这是一个全局变量,包含从geoLocation
获取的Latitude
值。window.gpsLng
:这是一个全局变量,包含从geoLocation
获取的Longitude
值。window.gpsAcc
:这是一个全局变量,包含从geoLocation
获取的Accuracy
值。
我想要什么?
我想要一个JavaScript或PHP解决方案,可以从移动硬件设备中获取坐标,即本地GPS,而不是使用geolocation,当本地GPS关闭时,要求用户打开它。