美文网首页
web定位功能

web定位功能

作者: xtsss | 来源:发表于2019-03-30 20:47 被阅读0次
    • html5原生定位api
      navigator.geolocation.getCurrentPosition,推荐写法如下:
    var options = {
      enableHighAccuracy: true,
      timeout: 5000,
      maximumAge: 0
    };
    
    function success(pos) {
      var crd = pos.coords;
    
      console.log('Your current position is:');
      console.log(`Latitude : ${crd.latitude}`);
      console.log(`Longitude: ${crd.longitude}`);
      console.log(`More or less ${crd.accuracy} meters.`);
    }
    
    function error(err) {
      console.warn(`ERROR(${err.code}): ${err.message}`);
    }
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(success, error, options);
    } else {
      alert('您的浏览器不支持地图定位')
    }
    
    
    • 微信环境下可以使用微信提供的sdk
      wx.getLocation
    • 第三方定位服务比如百度地图,腾讯地图或者高德地图。具体参考相应地图文档

    如果需要网页获取经纬度:
    优先考虑app提供的定位sdk。这里强调一个比较坑的地方,如果app本身没有申请定位权限,那么webview即使支持navigator.geolocation.getCurrentPosition,也获取不到经纬度。
    其次考虑html5原生的定位api,用法如上
    第三方定位服务例如高德定位其实就是使用的html5原生定位获取的经纬度,如果不行他们会根据ip来获取位置信息,当然ip的话是容易造假的,可信度没有经纬度高

    最后讲一下其实原生js是获取不到ip的,三方定位服务之所以能获取到ip是因为它们从你发送到它们服务的请求里获取到的ip包的源ip

    相关文章

      网友评论

          本文标题:web定位功能

          本文链接:https://www.haomeiwen.com/subject/vfbsbqtx.html