我做了一个网站,我想在手机(Android和iPhone)上阅读“真正的”GPS位置。 当我尝试使用W3C javascript方法从我的Android设置我的网站上的位置时,GPS未启用且位置由IP设置(当我尝试使用Google地图应用时,GPS已启用并在状态栏上闪烁)。 有没有办法从手机上的网络上读取GPS(真正的GPS)? 提前谢谢!
答案 0 :(得分:7)
使用HTML5,您可以做到这一点。您需要检查地理位置API:Dive Into HTML5和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所说here,带有GPS的设备可能需要一分钟或更长时间才能获得GPS修复,因此不太准确的数据(IP位置或wifi)可能会返回到getCurrentPosition()启动。
因此,如果您需要具有高精度(仅限GPS),请使用watchPosition
代替getCurrentPosition
。
答案 1 :(得分:0)
如W3C规范中所述,您可能需要使用watchPosition和getCurrentPosition的第三个参数,这是一个PositionOptions interface来将enableHighAccuracy设置为true,否则,使用其默认值false,GPS赢了'必须由设备打开。