查看他们的checkin api当你添加签入时,它不需要传入任何日期时间或时区信息,但当你查询用户签入历史时,它会指示签入发生的时区。我想他们是通过lat/lng或者别的什么来查的。有没有人知道他们具体是怎么做的?
发布于 2011-06-02 07:36:51
这肯定是基于位置的查找,而不是签到位置。
我的猜测是,他们会在创建会场时计算并缓存会场的时区。我将这些信息作为元组到字符串的映射存储在分布式哈希表数据库中,这些字符串以城市、州、国家等数据为关键字。我将保持每个时区(以及许多其他地理数据)的边界多边形可用,并提供基于经度/经度的查询服务。这通常称为地理编码服务。根据内存限制和使用可变性,我会懒惰地从这个服务中填充元组映射(即,只有在用户请求时才填充)。
对于无静脉签到,他们可能会根据经度/经度计算一次,并将此信息缓存一段较短的时间,以防其他人在同一位置执行签到。我敢打赌,他们也会例行公事地利用时区字段是可选的,如果地理编码服务过载,就不会填充它。
如果您正在寻找能够处理此类查询的服务,请查看http://www.geonames.com (documentation)。
https://stackoverflow.com/questions/6208911
复制相似问题