gpt4 book ai didi

javascript - 从硬件 GPS 获取坐标

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:43 24 4
gpt4 key购买 nike

我发现了很多关于 GPS 坐标的问题,但没有一个确认使用移动硬件 GPS 而不是网络 GPS,如 geoLocation 等。

我的实际方法:

我正在使用 navigator.geolocation.getCurrentPosition()Lat/Long 来自网络,代码如下:

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),有时我得到的坐标精度超过 2,000(这不精确)。

顺便说一句,我正在数据互联网服务上测试 GPS,当我使用 Wi-Fi 连接时,它可以完美运行,准确度低于 100。

详细信息:

也许你在提示:

  1. timeoutVal:它是一个cookie,里面有数字5000
  2. funcCallBack:继续登录操作的函数。
  3. window.gpsLat:它是一个全局变量,包含从 geoLocation 获取的 Latitude 值。
  4. window.gpsLng:它是一个全局变量,包含从 geoLocation 获取的 Longitude 值。
  5. window.gpsAcc:它是一个全局变量,包含从 geoLocation 获取的 Accuracy 值。

我想要什么?

我想要一个 JavaScript 或 PHP 解决方案,可以从移动硬件设备、本地 GPS 而不是地理定位获取坐标,并且当本地 GPS 关闭时,要求用户将其打开。

最佳答案

您应该使用 javascript 而不是 PHP 获取位置。 PHP 只能进行 IP 查找,这是确定位置的最不准确的方法。

navigator.geolocation.getCurrentPosition() 的工作方式是使用当前可用的最准确数据。如果是移动设备,它将首先使用 GPS(如果启用),然后是 wi-fi。

如果启用了本地 GPS,javascript 将访问该数据而不是 wi-fi 数据,但如果 GPS 数据不可用,则无法阻止对 wi-fi 数据的检查。

您最好的解决方案是检查精度字段,如果它不在您满意的范围内,请要求用户启用 GPS。

或者,如果您正在构建混合应用程序,大多数框架(PhoneGap 等)都具有直接查询设备 GPS 的 API。 Use PhoneGap to Check if GPS is enabled

关于javascript - 从硬件 GPS 获取坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20422239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com