用于 wifiAccessPoints 的 Google Maps Geolocation API 返回未找到的地理位置

Posted

技术标签:

【中文标题】用于 wifiAccessPoints 的 Google Maps Geolocation API 返回未找到的地理位置【英文标题】:Google Maps Geolocation API for wifiAccessPoints returns geolocation not found 【发布时间】:2016-07-08 17:15:12 【问题描述】:

我正在使用 google API 使用 POST 方法将 wifi 数据转换为位置数据

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

    

  "considerIp": "false",
 "wifiAccessPoints": [
  
   "macAddress": "01:23:45:67:89:AB",
   "signalStrength": 8,
   "age": 0,
   "signalToNoiseRatio": -65,
   "channel": 8
  ,
 
   "signalStrength": 4,
   "age": 0
  
 ]

我得到的回应是


  "error": 
  "errors": [
   
    "domain": "geolocation",
    "reason": "notFound",
    "message": "Not Found"
  
],
"code": 404,
"message": "Not Found"


这与我之前使用的代码相同,我在上个月的测试中得到了纬度和经度。 突然我得到这个失败的回应。 我们甚至尝试了我们之前测试过的 Mac 地址,现在都返回相同的响应。 在上面的示例中,我们使用的是 google 示例中使用的 mac 地址。但我们也尝试了之前获取数据的那些。

【问题讨论】:

【参考方案1】:

404: Not found 错误响应意味着没有返回任何结果。但是,您的请求是有效的。

您应该假设在某些情况下,地理定位会失败,并且您应该构建一个异常处理组件,如果地理定位确实发生错误,该组件不会失败。即使由于错误或用户拒绝浏览器提供位置的权限而未正确获取当前位置,您的应用程序也应继续运行。

要确认这是问题所在,请在您的请求中将 considerIp 设置为 false。如果响应为404,则您已确认您的 wifiAccessPoints 和 cellTowers 对象无法进行地理定位。

【讨论】:

感谢您的意见,但我们突然面临这个问题。我知道它无法返回某些位置的地理位置,但是对于任何 macaddress wifiAccessPoints,我们都会遇到错误,即使对于我们之前运行过测试用例并获得有效位置的地址也是如此。对于任何 macaddress,我们都会收到相同的错误。 cellTowers 我们正在按预期获取位置。此应用程序用于获取外部设备位置,因此我们设置了 ConsiderIp =false。 嘿,您找到其他解决方案了吗?我在地理定位方面面临同样的问题【参考方案2】:

https://developers.google.com/maps/documentation/geolocation/intro

请求正文的 wifiAccessPoints 数组必须包含两个或多个 WiFi 接入点对象。 mac地址是必需的;所有其他字段都是可选的。

据我所知,您的第二个 wifiAccessPoint 中需要一个 macAddress。

【讨论】:

以上是关于用于 wifiAccessPoints 的 Google Maps Geolocation API 返回未找到的地理位置的主要内容,如果未能解决你的问题,请参考以下文章

点击 <goo.gl 按钮后 Firebase DynamicLinks 未打开

PHP 缩短goo.gl

缩短goo.gl公司

Facebook 分享者拒绝 goo.gl 链接

React Native 无法在应用程序 webview 中打开 url:intent://photos.app.goo.gl/

markdown TCS-Mockup-App https://goo.gl/uHaLnJ