如果用户通过谷歌帐户登录,是否可以在Chrome中获得精确的用户位置?

时间:2016-07-24 08:41:36

标签: google-maps google-chrome geolocation

如果用户使用通过以太网连接的桌面PC并使用谷歌帐户登录(在chrome中),他将在maps.google.com上看到他们的设备位置(针对同一帐户),但如果我通过JS请求位置(navigator.geolocation .getCurrentPosition ...)它将显示不同的位置(我想它将是互联网提供商的位置)。如何使用谷歌地图获得精确的位置?

1 个答案:

答案 0 :(得分:0)

是的,Google Maps Geolocation API根据移动客户端可以检测到的有关手机信号塔和WiFi节点的信息返回位置和准确度半径。本文档描述了用于将此数据发送到服务器并将响应返回给客户端的协议。

使用POST通过HTTPS完成通信。请求和响应都被格式化为JSON,两者的内容类型都是application / json。

HTTP请求:

https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY

成功的地理定位请求将返回定义位置和半径的JSON格式的响应。

  • location:用户的估计纬度和经度,以度为单位。包含一个lat和一个lng子字段。
  • 准确度:估计位置的准确度,以米为单位。这表示给定位置周围的圆的半径。
  

{“location”:{“lat”:51.0,“lng”: - 0.1},“准确度”:1200.4}

如果您的地理定位响应在准确性字段中显示非常高的值,则该服务可能会根据请求IP而不是WiFi点或手机信号塔进行地理定位。如果没有手机信号塔或接入点有效或被识别,就会发生这种情况。