JavaScript通过navigator.geolocation API获取用户地理位置,需用户授权,支持检测、单次定位、持续监听及错误处理,HTTPS环境和友好提示可提升成功率。

JavaScript 获取用户地理位置主要靠浏览器提供的 navigator.geolocation API,它基于设备的 GPS、Wi-Fi、基站等信息估算位置,但需要用户明确授权,且不保证 100% 精确或始终可用。
检查浏览器是否支持地理定位
不是所有环境都支持该 API(比如某些旧版浏览器或 iframe 中禁用时),使用前建议先判断:
- if ("geolocation" in navigator) { /* 支持 */ } else { /* 不支持,降级处理 */ }
请求用户位置权限并获取坐标
调用 navigator.geolocation.getCurrentPosition() 发起一次定位请求,需提供成功和失败回调:
- navigator.geolocation.getCurrentPosition(
- position => {
- console.log("纬度:", position.coords.latitude);
- console.log("经度:", position.coords.longitude);
- console.log("精度(米):", position.coords.accuracy);
- },
- error => {
- console.error("定位失败:", error.message);
- }
- );
常见错误类型包括用户拒绝授权(PERMISSION_DENIED)、定位超时(TIMEOUT)、设备无定位能力(POSITION_UNAVAILABLE)。
标签: javascript java git 浏览器 ai wi-fi 地理位置
还木有评论哦,快来抢沙发吧~