首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

搜索附近人和商铺功能

越来越多的Android应用都加入了“附近的人”的功能,比如微信、陌陌、淘宝等,今天分享一个demo,简单的来实现这一功能。...主要原理为:手机端上传gps数据到服务器,服务器从数据库中查询其他用户的gps数据,分别计算2个pgs之间的距离,然后将计算好的数据返回给手机,手机进行展示。...this, LoginActivity.class ); startActivity(intent); } .... } 查看附近的人...点击ActionBar上的附近的人,便会显示从服务器获取到的用户信息(目前服务器是把所有用户信息全部返回): 请求网络使用的是Google在IO大会上才推出的Volley....计算距离的逻辑是从Android的提供的接口(Location.distanceBetween)中拔来的,应该是最精确的方法了 public static double computeDistance(

93450
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP 数据分页与搜索功能实现

    数据分页和搜索功能是 Web 应用中最常见的功能之一。无论是显示用户列表还是产品目录,分页和搜索功能都有助于提升用户体验和性能。...本篇文章将深入探讨 PHP 实现数据分页与搜索功能的原理和方法,帮助读者轻松掌握这些关键技术。1. 数据分页的基本原理分页的核心思想是将完整的数据集合分成多个小块,用户每次只需加载一部分数据。...LIMIT 和 OFFSET:使用 SQL 查询中的 LIMIT 和 OFFSET 控制返回的数据范围。分页导航:动态生成分页按钮链接。3. 搜索功能的实现搜索功能可以结合分页进行实现。...php endfor; ?> 5. 总结通过本文的讲解,我们了解了如何在 PHP 中实现数据分页与搜索功能。...提升用户体验的关键在于优化前端设计和用户交互,使分页和搜索功能更加直观和友好。希望本文对你有所帮助!

    12600

    利用 Redis 实现“附近的人”功能!

    而 Redis 另辟蹊径,结合其有序队列 ZSET 以及 GEOHASH 编码,实现了空间搜索功能,且拥有极高的运行效率。 本文将从源码角度对其算法原理进行解析,并推算查询时间复杂度。...要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。 以下将分别进行介绍,其中会重点对查询功能进行解析。...其中,组合使用 GEOADD 和 GEORADIUS 可实现“附近的人”中“增”和“查”的基本功能。 要实现微信中“附近的人”功能,可直接使用 GEORADIUSBYMEMBER 命令。...不过本质上,GEORADIUSBYMEMBER=GEOPOS+GEORADIUS,即先查找用户位置再通过该位置搜索附近满足位置相互距离条件的其他用户对象。...并可推算出 Redis 中 GEORADIUS 查找附近的人功能,时间复杂度为:O(N+log(M))。 其中 N 为指定半径范围内的位置元素数量,而 M 则是被九宫格圈住计算距离的元素的数量。

    1K20

    如何使用redis实现附近人的功能

    当两个元素相距不是很远,可以直接用勾股定理就能算出元素之间的距离,但是当我们的坐标是经纬度这种数据时,使用勾股定理就不容易计算了,那么如何计算两个经纬度之间的距离呢?如何筛选附近的人呢?...假如我们现在想要获取(x0,y0)坐标 附近为r的元素,可以这样去查询: select id from pos where x0-r < x <x0+r and y0-r <y <y0+r 但是把所有数据全部放到数据库中...业界比较通用的计算距离的方法是geohsh算法,刚好redis也支持这种算法 ?...redis如何支持 在redis中,geo将二维经纬度使用52位的整数进行编码,然后放入zset集合中,zset的value是key,scroe存储的是52位的整数值,然后通过score排序,算出附近的人...获取元素hash值 geohash anhuiprovince hefei 获取附近的元素 georadiusbymember key member radius m|km|ft|mi [WITHCOORD

    81410

    用sphinx给PHP加个给力的搜索功能

    最近工作上需要实现搜索功能,尝试了几种方案。虽然最终线上部署的还是最low的方案,但是中间的过程还是比较有意思的。业务上根据关键字查找内容。关键字的出处多来源于标题,文章描述等。...生成关键字表,使用关键字表进行查询 对数据内容的标题和内容进行分词,把各个分词结果关联该内容。查询的时候根据查询关键字进行匹配。因为不是模糊搜索,所以可以使用数据库的索引,加快搜索速度。...但是如果输入"国会"则无法搜索到内容。如果多个词同时匹配,则需要使用in查询,然后筛选出同时出现的内容。 所以这种生成关键字的方式,虽然查询速度上会比直接使用like查询快,但是业务逻辑会比较复杂。...使用sphinx作为搜索引擎 sphinx支持全文搜索,所以在sphinx中查询到关键字对应内容id之后再通过数据库获取内容的全部数据。...但是sphinx需要额外的服务(也可以使用sphinxse,不过需要重新编译mysql),同时索引页会带来内存和储存空间上的开销,同时也会涉及到索引实时更新的问题。

    1K40

    小程序里附近的人功能实现,云开发数据库实现附近的人,附近多少公里内的好友

    文末有源码 最近好多同学问石头哥附近的人如何实现。今天呢,就借助这篇文章,给大家做一个系统的解答。...接下来就教大家如何实现附近的位置。 一,创建数据 首先我们查询附近的人的时候,需要先有附近人的位置,也就是经纬度。这里我以几个城市的经纬度为例。...二,查找附近的人 我们查找附近的人,肯定是想按照排序由近到远的显示附近的人在地图上,所以这里我们就要用到geoNear做聚合查询。...,size_16,color_FFFFFF,t_70] 这个距离在做附近的人时很重要的。...this.setData({ markers }) }) } }) } }) 好了,到这里就带大家完整的实现了地图上显示附近人的功能了

    1.1K30

    「附近的小程序」增加新分类 | 小程序搜索大升级

    轻松一刻 漫画来自于西乔《神秘的程序员们》 01 「附近的小程序」增加新分类,「门店小程序」增加红色「店」字标志 附近的小程序在几个月前曾经被爆出在分类栏目上多出“餐饮美食”一览,当时一经推出,备受关注...而且,如果小程序支持「微信会员卡」功能,那么在「附近的小程序」中,这个小程序也将会被标注「会员卡」字样;门店小程序也会在小程序名称后,增加红色的「店」字标志进行标注。...02 小程序搜索大升级 与「搜一搜」一样,小程序列表里的搜索框,也可以搜索小程序里的内容。点击搜索结果,还能直接进入小程序。...例如,搜索电影名称,可以找到「猫眼电影」小程序内的搜索结果;搜索「地名+机票」,也可以搜索同程旅游旗下小程序的机票结果等。...此外,在小程序列表里的搜索功能搜索小程序部分关键词时,将不会搜到门店小程序。只有当用户完整输入门店小程序的名称,搜索结果中才会有相应的门店小程序出现。

    1.8K80

    Google 将于年底关闭 Android 附近通知功能

    三年前, 我们向 Android 平台引入了附近通知 (Nearby Notifications) 功能,它能根据周边设施和服务信息,为用户推荐应用和内容。...我们推出该功能的初衷是为了向用户主动提供有用的信息,比如说开发者可以利用这项技术告知用户附近可用的免费 Wi-Fi, 博物馆讲解和公交车到站时间。 我们在开发和发布这项功能的过程当中收获了丰富的经验。...用户可以通过设置过滤条件或者关闭 “附近通知” 来抵制垃圾信息,而且我们也已经对发送给用户的内容进行了十分严格的限制,尤其是那些通过通知推送的内容。但是,我们最终还是判定这些通知未能达到应有标准。...因此,我们决定从 2018 年 12 月 6 日开始正式停用附近通知这项功能。 Android 用户面临的影响 Android 用户将不会再收到任何附近通知。...您可以继续访问 beacon 仪表盘,或者通过调用 Proximity Beacons API 在应用内实现类似于附近通知的近场交互功能。

    93720

    利用Redis的Geo功能实现查找附近的位置

    从3.2版本开始它开始提供了GEO能力,用来实现诸如附近位置、计算距离等这类依赖于地理位置信息的功能。...GEORADIUS 以给定的经纬度为中心, 找出某一半径内的元素 GEOADD 将指定的地理空间位置(纬度、经度、名称)添加到指定的 key 中 GEORADIUSBYMEMBER 找出位于指定范围内的元素...WITHHASH 返回位置的 52 位精度的Geohash值,非必选。这个我反正很少用,可能其它一些偏向底层的LBS应用服务需要这个。 COUNT 返回符合条件的位置元素的数量,非必选。...String, String> geoOps = redisTemplate.boundGeoOps(GEO_KEY); geoOps.add(points); }; } 3.3 查询附近的特定位置...总结 今天我们使用Redis的Geo特性实现了常见的附近的地理信息查询需求,简单易上手。其实使用另一个Nosql数据库MongoDB也可以实现。在数据量比较小的情况下Redis已经能很好的满足需要。

    2.4K50

    利用Redis的Geo功能实现查找附近的位

    从3.2版本开始它开始提供了GEO能力,用来实现诸如附近位置、计算距离等这类依赖于地理位置信息的功能。...GEORADIUS 以给定的经纬度为中心, 找出某一半径内的元素 GEOADD 将指定的地理空间位置(纬度、经度、名称)添加到指定的 key 中 GEORADIUSBYMEMBER 找出位于指定范围内的元素...WITHHASH 返回位置的 52 位精度的Geohash值,非必选。这个我反正很少用,可能其它一些偏向底层的LBS应用服务需要这个。 COUNT 返回符合条件的位置元素的数量,非必选。...String, String> geoOps = redisTemplate.boundGeoOps(GEO_KEY); geoOps.add(points); }; } 3.3 查询附近的特定位置...总结 今天我们使用Redis的Geo特性实现了常见的附近的地理信息查询需求,简单易上手。其实使用另一个Nosql数据库MongoDB也可以实现。在数据量比较小的情况下Redis已经能很好的满足需要。

    1.5K30

    Redis 到底是怎么实现“附近的人”这个功能的?

    而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空间搜索功能,且拥有极高的运行效率。 本文将从源码角度对其算法原理进行解析,并推算查询时间复杂度。...要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。...其中,组合使用GEOADD和GEORADIUS可实现“附近的人”中“增”和“查”的基本功能。 要实现微信中“附近的人”功能,可直接使用GEORADIUSBYMEMBER命令。...不过本质上,GEORADIUSBYMEMBER = GEOPOS + GEORADIUS,即先查找用户位置再通过该位置搜索附近满足位置相互距离条件的其他用户对象。...并可推算出Redis中GEORADIUS查找附近的人功能,时间复杂度为:O(N+log(M)) 其中N为指定半径范围内的位置元素数量,而M则是被九宫格圈住计算距离的元素的数量。

    79620

    Redis 到底是怎么实现“附近的人”这个功能的?

    而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空间搜索功能,且拥有极高的运行效率。 本文将从源码角度对其算法原理进行解析,并推算查询时间复杂度。...要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。...其中,组合使用GEOADD和GEORADIUS可实现“附近的人”中“增”和“查”的基本功能。 要实现微信中“附近的人”功能,可直接使用GEORADIUSBYMEMBER命令。...不过本质上,GEORADIUSBYMEMBER = GEOPOS + GEORADIUS,即先查找用户位置再通过该位置搜索附近满足位置相互距离条件的其他用户对象。...并可推算出Redis中GEORADIUS查找附近的人功能,时间复杂度为:O(N+log(M)) 其中N为指定半径范围内的位置元素数量,而M则是被九宫格圈住计算距离的元素的数量。

    94230

    Redis 到底是怎么实现“附近的人”这个功能的呢?

    而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空间搜索功能,且拥有极高的运行效率。本文将从源码角度对其算法原理进行解析,并推算查询时间复杂度。...要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。...其中,组合使用GEOADD和GEORADIUS可实现“附近的人”中“增”和“查”的基本功能。要实现微信中“附近的人”功能,可直接使用GEORADIUSBYMEMBER命令。...不过本质上,GEORADIUSBYMEMBER = GEOPOS + GEORADIUS,即先查找用户位置再通过该位置搜索附近满足位置相互距离条件的其他用户对象。...并可推算出Redis中GEORADIUS查找附近的人功能,时间复杂度为:O(N+log(M)),其中N为指定半径范围内的位置元素数量,而M则是被九宫格圈住计算距离的元素的数量。

    1.2K10
    领券