我可以从网站上阅读"真正的"移动GPS坐标吗?

use*_*663 6 javascript w3c geolocation web

我做了一个网站,我想在移动设备(Android和iPhone)上阅读"真正的"GPS定位.当我尝试使用W3C javascript方法从我的Android设置我的网站上的位置时,GPS未启用且位置由IP设置(当我尝试使用Google地图应用时,GPS已启用并在状态栏上闪烁).有没有办法从手机上的网络上读取GPS(真正的GPS)?提前致谢!

gak*_*hov 7

使用HTML5,您可以做到这一点.您需要检查Geolocation API:Dive Into HTML5W3C 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;
           }
        }
    );
}
Run Code Online (Sandbox Code Playgroud)

也许你在一些浏览器特定的实现中也很有趣:Mozilla,IE,Chrome

更新. 正如Mozilla 在这里所说的那样,带有GPS的设备可能需要一分钟或更长时间才能获得GPS定位,因此可能会将不准确的数据(IP位置或wifi)返回到getCurrentPosition()以启动.

因此,如果您需要具有高精度(仅限GPS),请使用watchPosition而不是getCurrentPosition.

  • 我发现了问题:)只需在函数(位置)上使用if(position.coords.accuracy <= MIN_GPS_ACCURACY).谢谢加霍夫! (2认同)