将位置映射到时区

时间:2010-10-05 20:27:57

标签: api timezone maps

我需要获取给定地址/位置的时区。如果需要,假设地址/位置可以反向地理编码(使用谷歌)到lat / lng。

这意味着我可能没有邮政编码。

我真的希望谷歌为此提供某种API,但似乎他们没有。至少你可以谷歌搜索“华盛顿特区的时间”并获得时间/ TZ - 但是我必须屏幕刮掉那些不好玩的东西:(

我知道有可用的数据库将位置映射到时区,但必须维护。有没有人想出这个问题的棘手解决方案?

谢谢!

4 个答案:

答案 0 :(得分:4)

Google为此提供了API

https://maps.googleapis.com/maps/api/timezone/<json or xml>?location=<lat>,<lng>&timestamp=<unix timestamp>&sensor=<true or false>

例如:

https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331161200&sensor=false

答案 1 :(得分:2)

http://www.geonames.org/提供了一个API,它返回给定lat / lng

的时区

答案 2 :(得分:0)

这个问题需要澄清一点。你在做什么呢?你用的是哪种语言?但是我如何处理这个问题的方法是:首先,创建一个类似于将经度转换为区域的结构的表(非常类似于table)。接下来我会在本地或在网上以某种方式查询GMT,最后从表中获取偏移并将其添加到GMT。这样就不会对表格进行“维护”,因为这些经度不会改变。

答案 3 :(得分:0)

我已经编写了一个小的Java类来实现这一点,数据结构嵌入在代码中。如果你想避免使用网络服务,22公里的准确度已经足够好了,你很高兴地认为时区边界不会改变,那么它可能有所帮助。

https://sites.google.com/a/edval.biz/www/mapping-lat-lng-s-to-timezones