js 获取浏览器经纬度精确到100米(chrome,firefox等大浏览器,ios,安卓亲测可用)

本文深入探讨了百度Geolocation定位的实现方式,介绍了如何通过navigator.geolocation对象进行地理位置定位,包括成功与错误回调函数的使用,以及options参数的详细解释。同时,文中还对比了IP定位和Geolocation定位的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了满足定位需求,先是调了各大地图的ip转经纬度(精确到城市,甚至出现精确到省的情况,文章底部有链接可以去看),而后使用百度地图的Geolocation定位,出于好奇找出了百度Geolocation定位的源码,才发现如此简单,在此跟大家分享。

核心对象

1.Geolocation是window.navigator下面的一个对象,该对象提供了实现地理位置定位的接口。
2.要用该功能首先判断浏览器是否支持navigator.geolocation该对象。

开始使用

        navigator.geolocation.getCurrentPosition(function (position) {
          console.log('success',position);
          var success = {
          coords: {
          	accuracy: 70,// 位置精确度
				altitude: null, // 海拔
				altitudeAccuracy: null,// 海拔精确度
				heading: null,// 朝向
				latitude: 23.1017714, // 纬度
				longitude: 113.25838209999999,// 经度
				speed: null,// 速度
			},
			timestamp: 1544340493718
          }
          
        }, function (error) {
          console.log('error',error);
          var error = {
            code: error.code,
            message: error.message,
            jsapiLoc: true
          };
        }, {
          enableHighAccuracy: false,
          timeout: 5000,
          maximumAge: 600000
        });

option

options是一个对象,可以设置超时时间、缓存时间等, 如下:
A.enableHighAccuracy 表示是否允许使用高精度,但这个
参数在很多设备上设置了都没用,设备综合考虑电量、
地理情况等,很多时候都是默认的由设备自身来调整。
B.timeout 指定超时时间
C.maximumAge 是指缓存的时间

补充

ip获取经纬度教程百度、腾讯地图正/逆地址解析 javascript

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢泽的网络日志

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值