foursquare如何确定签到的时区?

时间:2011-06-01 23:33:19

标签: api geolocation timezone foursquare

当您添加签到时查看他们的checkin api,它不需要传递任何日期时间或时区信息,但是当您查询用户签入历史记录时,returns a timezone field表示签入所用的时区地点。我想象他们用lat / lng或其他东西来查找它。有没有人具体知道他们是怎么做的?

1 个答案:

答案 0 :(得分:1)

这肯定是基于位置的查看办理登机手续的位置。

我的猜测是,他们在创建场地时计算并缓存场地的时区。我将这些信息作为元组映射存储到键入数据的字符串,如city,[state],分布式哈希表数据库中的国家/地区,如memcached。我会为每个时区(以及许多其他地理数据)保留可用的多边形,并提供基于lat / lon查询它的服务。这通常称为地理编码服务。根据内存限制和使用的可变性,我会懒惰地填充来自此服务的元组映射(即,仅在用户请求时)。

对于无场地签到,他们可能会根据纬度/经度计算一次,并在较短的时间内缓存此信息,以防其他人对同一位置执行签到。我敢打赌,他们也经常利用时区字段是可选的,如果地理编码服务过载,则不填充它。

如果您正在寻找可以处理这类查询的服务,请查看http://www.geonames.comdocumentation)。