Google Timezone API为某些位置返回ZERO_RESULTS

时间:2016-12-05 12:51:50

标签: google-maps google-maps-api-3 timezone

我们有一个API,使用Google地理编码API查找输入地址的纬度/经度。然后将location的响应输入Google Timezone API

事实证明,有些位置虽然从地理编码api返回有效结果,但会从时区API返回ZERO_RESULTS错误。其中一些是例如690091,Vladivostok,Russia或国家BL(圣巴泰勒米)。

地理编码请求:

https://maps.googleapis.com/maps/api/geocode/json?key=API-KEY-HERE&components=country%3ARU&address=690091%2CVladivostok

时区要求:

https://maps.googleapis.com/maps/api/timezone/json?key=API-KEY-HERE&location=43.140489%2C131.858103&timestamp=0

这可能不在文档中列出。

我的主要问题:这是一个已知问题,一般是时区,还是google时区API?

我希望所有有效的lat / lng都有一个时区,并且通过一些谷歌搜索我没有看到任何位置没有时区的情况。根据{{​​3}},符拉迪沃斯托克的例子指向海中的某个地方,但圣巴泰勒米指向岛上(google mapsapi)。

编辑:事实证明,我没有读到:时区api说:“请注意,时区数据可能无法用于水上的位置,例如海洋或海洋。”有谁知道背后的原因是什么?与国界和国际水域的怪异?

1 个答案:

答案 0 :(得分:3)

您在Timezone API中应用的坐标(43.140489,131.858103)似乎位于水中。

请在Geocoder工具中查看此位置:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D43.140489%252C131.858103%26nfw%3D0

绿色十字显示坐标的位置。

Timezone API不会返回水域的结果。

我在公共问题跟踪器中看到了非常类似的问题:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=10885

https://code.google.com/p/gmaps-api-issues/issues/detail?id=10762

您应该应用位于陆地上的纬度经度,另外您可以对问题10762发表评论。我相信这是一个很好的功能请求,要求在一个国家拥有的水域内使用TimeZone API。