首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于位置的应用程序的云数据库架构

基于位置的应用程序的云数据库架构
EN

Stack Overflow用户
提问于 2019-05-29 06:21:43
回答 1查看 189关注 0票数 0

我目前正在为我的基于位置的安卓应用程序规划我的数据库(在未来的某个时候,我将为iOS应用程序做准备)。

我想知道下面的结构是否适合我的需要。快速概述我的应用程序所涉及的内容:找到半径为2公里的用户(geofence),并显示他们的个人资料(类似于在Tinder上匹配某人)。

所以我的设想是,每个用户通过谷歌地图应用程序接口将他们的LatLon位置上传到我的数据库中,然后Android查询数据库来查找地理围栏中的用户。

PS:在geofence中查询用户的最佳方式是什么?

我建议的数据库是具有以下文档设置的Google Firestore

代码语言:javascript
运行
复制
users: {
    2394824972439 (facebook_id): {
      gender: "male"
      currentLat: 37.234234,
      currentLon: 157.192835,
      profileImg1: googlecloudstorage.com/url/to/img1.png,
      profileImg2: googlecloudstorage.com/url/to/img2.png,
      bio: "This is my bio",
      alreadyMatchedWith: [42304823423, 23423423432, 023948230]
  }
    7388824972439: {
      gender: "female"
      currentLat: 34.234234,
      currentLon: 157.132835,
      profileImg1: googlecloudstorage.com/url/to/img1.png,
      profileImg2: googlecloudstorage.com/url/to/img2.png,
      bio: "Another bio",
      alreadyMatchedWith: [82304823423, 33423423432, 923948230]
  }
}

因此,该查询还将确保其他用户的facebook ID (我使用facebook登录)尚未与之匹配。如果它还没有匹配,那么数据库将返回该用户的文档,并显示他们的个人资料信息以及来自谷歌云的个人资料图像。存储。

关于这个设置有没有什么我应该关注的危险信号--或者有更好的替代方案?

EN

回答 1

Stack Overflow用户

发布于 2019-05-29 12:15:54

既然您没有提到GeoFire,并且假装进行与地理相关的查询,那么GeoFire可能是最好的替代方案,

适用于安卓/Java的GeoFire

https://github.com/firebase/geofire-java

代码语言:javascript
运行
复制
// creates a new query around [37.7832, -122.4056] with a radius of 2.0 kilometers
GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(37.7832, -122.4056), 2.0);

在这种情况下,您必须为IOS实现相同的功能:

用于Objective-CGeoFire

https://github.com/firebase/geofire-objc

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56350767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档