JavaScript可通过navigator.geolocation获取用户经纬度,再用Leaflet等地图库渲染位置标记;需用户授权、仅限安全上下文,支持一次定位或持续跟踪,精度受设备影响。
JavaScript 可以通过浏览器原生的 navigator.geolocation API 获取用户设备的地理坐标(经纬度),再结合地图服务(如 Leaflet、Mapbox 或 Google Maps)将位置标记在地图上。核心分两步:获取定位 + 渲染到地图。
该 API 需用户授权,且仅在安全上下文(https:// 或 localhost)中可用。基本用法如下:
getCurrentPosition() 请求一次定位:position.coords 包含 latitude、longitude、accuracy(精度米数)等字段;PERMISSION_DENIED)、定位不可用(POSITION_UNAVAILABLE)、超时(TIMEOUT);{ enableHighAccuracy: true, timeout: 10000, maximumAge: 30000 }。Leaflet 是开源、易用的地图库,无需 API 密钥。只需引入 CDN 并初始化地图:
accuracy 值较大(>50 米)时建议提示用户“定位精度较低”;watchPosition() 替代 getCurrentPosition(),它返回监听 ID,可用 clearWatch(id) 停止;
i/基站),JS 本身不参与计算。