我做了一个网站,我想在移动设备(Android 和 iPhone)上阅读“真实”位置 GPS。当我尝试使用W3C javascript 方法从我的 Android 上设置我的网站上的位置时,GPS 未启用并且位置由 IP 设置(当我尝试使用 Google 地图应用程序时,GPS 已启用并在状态栏上闪烁)。有什么方法可以从手机上的网络读取 GPS(真正的 GPS)?提前致谢!
问问题
4783 次
2 回答
7
使用 HTML5,您可以做到这一点。您需要查看 Geolocation API: Dive Into HTML5 and W3C Geolocation API Specification
最简单的示例如下所示:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
do_something(position.coords.latitude,position.coords.longitude);
},
function (error){
switch(error.code){
case error.TIMEOUT:
// Timeout
break;
case error.POSITION_UNAVAILABLE:
// Position unavailable
break;
case error.PERMISSION_DENIED:
// Permission denied
break;
case error.UNKNOWN_ERROR:
// Unknown error
break;
default: break;
}
}
);
}
可能您对某些特定于浏览器的实现也很感兴趣:Mozilla、IE、Chrome
更新。 正如 Mozilla在此处所说,例如,具有 GPS 的设备可能需要一分钟或更长时间才能获得 GPS 定位,因此可能会将不太准确的数据(IP 位置或 wifi)返回到 getCurrentPosition() 以启动。
因此,如果您需要高精度(例如仅 GPS),请使用watchPosition
而不是getCurrentPosition
.
于 2012-04-16T18:19:38.047 回答
0
如 W3C 规范中所述,您可能需要使用 watchPosition 和 getCurrentPosition 的第三个参数,这是一个PositionOptions 接口将 enableHighAccuracy 设置为 true,否则,使用其默认值 false,GPS 不一定会被打开装置。
于 2013-11-17T00:00:17.407 回答