getCurrentPosition 返回的 message 原因解析 :

  1. Get ipLocation failedIP 精确定位失败,精确IP定位服务目前无法完全覆盖所有用户 IP,失败率在5%左右。
  2. sdk 定位失败:检查 sdkkey 是否设置好,以及 webview 的定位权限及应用和系统的定位权限是否开启。
  3. 浏览器定位失败,有多种情况:
  • Browser not Support html5 geolocation:浏览器不支持原生定位接口,如IE较低版本的浏览器等;
  • Geolocation permission denied:用户禁用了定位权限,需要用户开启设备和浏览器的定位权限,并在浏览器弹窗中点击“允许使用定位”选项;
  • Geolocation permission denied:浏览器禁止了非安全域的定位请求,比如 Chrome、IOS10 已陆续禁止,这时候需要升级站点到 HTTPS。注意 Chrome 不会禁止 localhost 等域名 HTTP 协议下的定位;
  • Get geolocation time out:浏览器定位超时,包括原生的超时,可以适当增加超时属性的设定值以减少这一现象,另外还有个别浏览器(如google Chrome浏览器等)本身的定位接口是黑洞,通过其请求定位完全没有回应,也会超时返回失败;
  • Get geolocation failed:定位失败,Chrome、火狐以及部分套壳浏览器接入的定位服务在国外,有较大限制,失败率高。

参考文档:Geolocation定位失败原因常见问题