【发布时间】:2015-04-15 20:04:46
【问题描述】:
我正在构建一个基于位置的社交网络应用程序(移动应用程序前端、Django/Python 后端),重点非常狭窄(不是试图重新创建 FB)。我正在使用 Google Places API 进行位置搜索。一旦用户通过 Google Places 找到位置,我允许他们对该位置执行操作,然后将其保存到我们的服务器。
到目前为止,我已经成功实现了搜索、用户操作和位置存储。我还实施了新闻提要。我希望该新闻提要中填充地理上接近用户的故事/动作,并注意用户的位置可能会随着每次使用应用程序而改变(但可能会留在同一个城市内)。我正在寻求帮助,根据位置动态分割我的社交网络。到目前为止,这是我想到/遇到的:
显而易见但非常昂贵的方法是根据用户的当前位置对全球新闻提要中的所有故事进行排序,然后从顶部删除最近的故事。
或者如何创建区域并在区域增长时拆分区域(更多操作、用户、活动位置)。然后,当用户轮询新闻提要时,他们会得到最接近的地区的提要。区域的拆分可以通过 cron 作业按计划发生,并且只有在区域足够活跃可以分开时才会发生。如果我们必须在每次分割区域时更改每个动作/位置/故事的区域引用,分割也可能会很昂贵。
数字 1 的衍生产品将根据用户的当前坐标对相关位置进行排序,然后缓存该顺序。这样一来,下次在这些相同坐标的合理距离内的用户想要生成提要时,它的成本要低得多。
保持简单:只需定义硬区域并允许用户选择和更改该区域。因此,例如,允许用户选择伊利诺伊州芝加哥作为一个地区,并且只看到该地区内的行动/故事。我担心的是,他们会错过他们所在地区以外的相关报道(即印第安纳州加里)
Secret 或 Whisper 甚至 Facebook 等应用程序如何解决这个问题?对于那些有构建位置感知社交应用程序经验的人,您采取了哪些方法?请随时链接所有相关或有用的答案。
【问题讨论】:
标签: architecture geolocation social-networking feed