我有一个Google Maps Geolocation API的免费试用帐户,每天有100个请求。
几周前,我成功地发送了带有蜂窝塔信息的JSON请求,并获得了具有精确坐标的JSON响应。今天,我看到了非常奇怪的行为。在我以前使用的机器/IP上,发送一个具有广泛变化的蜂窝塔信息的请求会给我相同的准确坐标作为响应(就像它被缓存一样)。在另一台我没有使用过的机器/IP上,我得到了404"找不到位置"的响应,尽管小区位置确实存在。
我检查了一下,我没有超过我的配额,还有18天的免费试用期。还有其他我不知道的限制吗?以前有人见过这种奇怪的行为吗?
更新:
我使用Apache HTTP通过自定义Java应用程序发送JSON请求;没有允许/拒绝权限的浏览器。我正确地处理了响应/错误,尽管这超出了本问题的范围。我知道它在两周前正如预期的那样工作,根据蜂窝塔的信息给出有无位置坐标的响应。它不再使用相同的设置或来自远程服务器(不同IP)的新设置。
发生这种情况可能有很多原因。
您的浏览器是否请求允许或拒绝使用位置数据的权限?如果你拒绝了,它可能会给出404,除此之外,即使有防火墙限制位置访问,它也可能给出404。
在使用地理定位和支持GPS的应用程序时,您应该假设在某些情况下,地理定位会失败,并且您应该构建一个异常处理组件,如果地理定位确实发生错误,该组件不会失败。即使由于错误或用户拒绝允许浏览器提供GPS位置而导致当前GPS位置未正确提取,您的应用程序也应继续运行。
这些amy是可能的原因,但要非常具体地说,你需要提供更多的细节。