如何使用时区验证物理地址



我正在用Java实现一个Android应用程序,我希望能够用用户的时区来验证用户的物理地址信息。例如,用户可以输入日本标准时间,但地址可能在美国,这显然是错误的。我将如何验证这一点?我正在使用AOSP的TimeZonePicker来获取时区详细信息。

我知道我可以检查时区的国家/地区和用户在实际地址中列出的国家/地区,但有些国家/地区有多个时区,因此这并非在所有情况下都有效。我认为最好使用城市、州和国家/地区,因为像田纳西州这样的州在该州有多个时区。

查询 Google 时区 API 以返回所提供位置的州和时区。

如果不使用任何提供传感器的位置,则可以将地址反向地理定位为纬度和经度坐标。

获得坐标后,查询谷歌时区API

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

您将获得包含时区名称和时区 ID 的响应:

{
   "dstOffset" : 0.0,
   "rawOffset" : -28800.0,
   "status" : "OK",
   "timeZoneId" : "America/Los_Angeles",
   "timeZoneName" : "Pacific Standard Time"
}

此时之后的验证逻辑由您决定。

相关内容

  • 没有找到相关文章

最新更新