html - 地理位置 HTML5 enableHighAccuracy True 、 False 还是最佳选择?

标签 html geolocation

我对 HTML5 地理定位功能有疑问。我使用下面的代码获取位置数据。我使用“enableHighAccuracy: false”选项来使用基于单元格的 GPS 功能。准确率低,但 react 太快。但是有些人总是在手机上使用内置 GPS,因此此代码对他们不起作用。但是,如果我将准确性选项更改为“enableHighAccuracy:true”,它对他们有用。但这一次,代码仅使用内置 GPS。不是基于 CELL 的 GPS。

问题 -> 我该怎么做:首先,尝试通过超时(例如 5000 毫秒)从内置 GPS 获取位置,如果此时无法获取位置,只需查找基于单元的位置超时(例如 10000 毫秒)如果此时获取不到position,则返回错误信息。

这是我现在使用的代码。

提前致谢。

    function getLocationfromGoogle() {
    navigator.geolocation.getCurrentPosition(
      function(pos) {
        $("#lat_field").val(pos.coords.latitude);
        $("#long_field").val(pos.coords.longitude);
        var geocoder = new google.maps.Geocoder();
        var latLng = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
              geocoder.geocode({ 'latLng': latLng}, function (results, status) {
              if (status == google.maps.GeocoderStatus.OK) {
                //console.log(results[0].formatted_address);
                $("#adresim").val(results[0].formatted_address);
                }
                else {
            alert('Google convertion is not succesfully done.');  

            }
            });
      },function error(msg){

                alert('Please enable your GPS position future.');  

      },{maximumAge:600000, timeout:5000, enableHighAccuracy: false}

    ); 
    }

最佳答案

您还应注意,此实现因手机操作系统而异 - 适用于 Android 的功能可能适用于也可能不适用于 iOS、BlackBerry、WindowsPhone 等。

就快完成了,您只需要:

  1. 指定 enableHighAccuracy: true(您已将其设置为 false)
  2. 在错误处理程序中处理超时错误情况。如果高精度查询的错误超时,则使用 enableHighAccuracy: false 重试。

看看这个sample code .

您还应该注意,在一些设备上进行测试时,即使 enableHighAccuracy: true,它也会返回来自 WiFi 的位置。

关于html - 地理位置 HTML5 enableHighAccuracy True 、 False 还是最佳选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9053262/

相关文章:

HTML 视频无法在移动设备上运行

html - 带关键帧的 CSS 动画

javascript - 使用 Google Geocoder 地址地理编码返回无效结果

ios - 如何通过经度和纬度获取时区

push-notification - Web 应用程序使用 Service Worker 和推送通知获取后台地理位置

javascript - 仅在特定主体类上使用 jQuery 应用 CSS

javascript:如何从复选框获取标题属性值?

javascript - 浏览器选项卡之间的通信

android - 启动后台定位服务不工作

google-maps - 开发基于位置/ map 的网站