专栏名称: 顶尖架构师栈
分享业务架构、技术架构、系统设计方案,以及微服务架构源码,提供业务场景答疑
今天看啥  ›  专栏  ›  顶尖架构师栈

面试官:来说下GeoHash的原理!滴滴打车如何找出方圆一千米内的乘客?

顶尖架构师栈  · 公众号  ·  · 2024-07-09 08:01

文章预览

背景 GeoHash 基本原理介绍 GeoHash如何应用到这个问题当中? 遗留问题 背景 不知道大家是否思考过一个问题,在一些场景下(如大家在使用高德地图打车的时候,邻近的司机是如何知道你在他的附近并将你的打车通知推送给他去接单的?)是如何实现的? 一般来讲,大家也许会想到,首先肯定需要知道每位乘客的经纬度(lng,lat),也即是二维坐标(当然这是在绝对理想的情况,不考虑上下坡度)。 而在知道了经纬度之后,一个暴力简单且容易想到的思路就是将经纬度这个 「二元组」  都存放在一个 「数组」  当中,然后当我们需要拿到离我们规定范围内的用户(如获取当前位置方圆百米内正在打车的乘客),我们就可以去遍历维护的那个数组,以此去判断数组中的经纬度与自己所在经纬度的距离,然后判断是否在范围内。 显然这种方法一定是能够 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览