Java 如何获得时区内的任何纬度和经度对?

Java 如何获得时区内的任何纬度和经度对?,java,android,timezone,Java,Android,Timezone,我在Android设备上使用java方法TimeZone.getDefault()来获取我的当前时区 我需要提取时区边界内的任何经纬度对。最好是中心,但不一定要精确 是否有一些时区边界数据或其他方式来实现这一点 基本原理:我有一个第三方API,需要用于某些功能, 虽然API在它所做的事情上运行良好,但它不再处于积极的开发阶段,也不是开源的 该API需要一个纬度和经度对来确定时区,并且没有提供时区的公共替代方案。 如果我能侥幸逃脱的话,我宁愿不要向我的用户索要确切位置的位置许可。我可以想到两个相关

我在Android设备上使用java方法
TimeZone.getDefault()
来获取我的当前时区

我需要提取时区边界内的任何经纬度对。最好是中心,但不一定要精确

是否有一些时区边界数据或其他方式来实现这一点

基本原理:我有一个第三方API,需要用于某些功能, 虽然API在它所做的事情上运行良好,但它不再处于积极的开发阶段,也不是开源的

该API需要一个纬度和经度对来确定时区,并且没有提供时区的公共替代方案。
如果我能侥幸逃脱的话,我宁愿不要向我的用户索要确切位置的位置许可。

我可以想到两个相关的数据源,在这里会很有用:

  • 包含两个文件和。这些列表旨在帮助时区选择,并包含作为所列时区参考点的每个cites的坐标

  • 该项目具有包含每个时区的大致地理边界的形状文件。许多库(如清单所示)都使用这种方法,这些库专注于lat/lon到时区的问题。你似乎对另一个方向感兴趣,这需要你做一些分析工作。基本上,您需要使用该项目中的多边形形状文件,并从与所讨论时区关联的多边形中随机拾取一个点


无论采用哪种方法,您都可能首先需要将别名解析为其规范对应项。例如,如果您有
美国/东部
,您需要先将其解析为
美国/纽约
,然后再尝试在任一数据源中查找它。

时区不直。没有“中心”…是的,但它们都有边界,我只需要时区内的一个位置。如果我得到了边界,我自己就能找到。你想达到什么目的?你需要用户时区还是纬度?我有用户时区,不需要用户位置。只是一个在同一时区内的位置,所以我可以将其传递给API。我在一些项目中使用此API获取时区,还提供了一个lat-lon字段,也许它可以帮助您