关于在地图实时显示多人在线的实现原理 (服务器端)
现有一款运动类的app,我是做服务器端开发的
需求1:在骑行 创建组队的时候,把队友的位置实时显示出来(类似于滴滴打车的时候,有哪些车辆显示在附近)
需求2:打开地图,显示附近的人
问题:上面2个需求具体点的实现原理?
下面先说说我的想法和疑问,不知道对不对,麻烦大家指教一下:
1.在需求1中,能否把队友ID存到redis等缓存中,,然后等到组队解散或者队友下线的时候,再把id从缓存中剔除?或者有什么好的实现原理??
2.需求1的过程中,用心跳来实现队友是否已经退出,如果检测不到心跳,自动把这个用户在组队列表中去除?
3.需求2中,查找附近的人,先查找本机上传的地理位置,然后通过算法得到附近的范围?(不知道有没现成算法),之后从所有符合附近范围的用户遍历筛选出在线状态,最后返回给客户端?