【发布时间】:2015-03-24 21:01:36
【问题描述】:
如果我到世界某个特定地区旅行,iOS 会自动更新时区。我很好奇它是否使用 GPS 坐标来这样做,如果是这样的话,Swift 中是否有任何工具可以从一组特定的 GPS 坐标中找出时区?
我知道 NSTimeZone 并且它的所有功能似乎都不能满足我的需求。我正在计算世界上任何指定位置的太阳升起和落下时间。 IE。 用户当前可能不在的位置。但是,日期以 UTC 格式返回,因此我需要能够将这些日期转换为相应的时区。
这个项目的主要限制是我不能使用在线 API,例如 GeoCities 或 Google。
我考虑过使用离线数据库,我只是想看看 Swift 是否有我可以先使用的功能。
【问题讨论】:
-
有趣的解决方案,但是我明白你的意思,它确实需要网络服务:/ .
-
对不起,我删除了that link,因为在查看了您的问题后,它显然不符合您的需求。当不是当前位置时,用户如何指定他们的位置?他们是否可以从
[NSTimeZone knownTimeZoneNames]的列表中挑选(或他们可以通过该层次结构导航的一些 UI)?或者将这些位置转换成地图,让他们点击最近的位置? -
@Rob,有两种方法可以获取他们的位置。通过位置服务或可供选择的城市列表。如果从列表中选择了一个城市,我们会将其转换为本地数据库中的坐标。出于可用性的考虑,我们努力将其保持为一键式(选择城市)解决方案。
-
是的,那么也许将您的城市列表映射到
knownTimeZones列表可能会做到这一点,对吧? -
还有原始gps坐标。我们选择使用时区数据库,因为 swift 中似乎不存在该工具。不过,感谢您花时间和精力分析您的见解。
标签: swift ios8 gps nstimezone