我需要获取给定地址/位置的时区。如果需要,假设地址/位置可以反向地理编码(使用谷歌)到lat / lng。
这意味着我可能没有邮政编码。
我真的希望谷歌为此提供某种API,但似乎他们没有。至少你可以谷歌搜索“华盛顿特区的时间”并获得时间/ TZ - 但是我必须屏幕刮掉那些不好玩的东西:(
我知道有可用的数据库将位置映射到时区,但必须维护。有没有人想出这个问题的棘手解决方案?
谢谢!
答案 0 :(得分:4)
Google为此提供了API。
https://maps.googleapis.com/maps/api/timezone/<json or xml>?location=<lat>,<lng>×tamp=<unix timestamp>&sensor=<true or 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