• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发APP开发怎样实现查找附近的人的功能?

      APP开发怎样实现查找附近的人的功能?

      发布时间:2018-11-27

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

         我们知道在移动互联网时代,各种如打车、交友等APP软件都有一个查找定位附近的人的功能,但是对于我们程序开发员来说怎样能快速高效的实现这个功能?深圳APP开发公司本文就这个问题分享我们工程师日常的开发经验。我们知道LBS主要用于查找附近的人(或者某个事物),其常见的使用情景如图9-32所示。
        查找附近的人在程序中的处理流程是:数据库的用户信息中有个地理坐标字段,己知某个用户的地理坐标,把这个坐标定范围内(例如500米内)的其他地理坐标找出来。APP开发公司下面介绍3种实现查找附近的人的方案:
      1.MySQL的空间数据库解决方案
       
        从MySQL 4.1开始就引入了系列空间扩展,使其具备了定的空间处理能力  
      简单点来说,就是MySQL已经可以把地理坐标的数据当成种独立的数据类型,而且提供了相关的空间函数(例如查找个矩形范围内
      的坐标)给开发者直接调用。
      2.geohash解决方案
       geohash编码,就是通过算法把地理坐标转换成个值,简单点来说就是把二维坐标转换成一个字符串,但这个字符串并不是毫无意义。
      geohash有以下的特点。
      (1) geohash把地理坐标转换为字符串
      如图9-33所示,展示了“国家数字家庭应用示范产业基地”的地图
        在上图中,“国家数字家庭应用示范产业基地”从地图上得到的坐标是“113. 39175.23.061784”,这个坐标同时也可以用geohash值“wsOehq32ekOu”表示。用geohash值表示坐标有以下两个好处。
      ·避免泄露用户的真实坐标,保护隐私(虽然国内用户并不看重这个问题)。
      ·geohash值是个字符串,方便缓存。在下面会提到一个案例用缓存geohash值来快速搜索。如果使用坐标值就不方便缓存
      (2)坐标的geohash值越相似,意味着距离越相近
      (3) geohash值越长,表示的范围越精确。如表9-5所示,展示Tgeohash值的长度和相应的表示范围的关系
        从上表可看出,当geohash值的长度为6时,对应坐标的距离大约是相距0.61千米,“查找附近的人”这个功能平常就查找l公里范围内,按照geohash值的长度为6查找就差不多。
      但是使用geohash查找附近的人需要注意如图9-34所示的例子。
        在图9-34中用geohash查找a点附近的点时,由于a和b是在同到a点的距离和b点到a点的距离差不多,为了取得更精确的结果,一个区域内,根据geohash算法认为a附近只有b。但在图9-34上可看到,c点除了取目标点的geohash值外,还需要使用a点周围8个区域的geohash值。
        基于geohash值是字符串的特性,查找附近坐标的时候用SQL中模糊查询LIKE“wsOehh%”查找geohash值“wsOehh”附近的所有地点非常方便。
        APP开发公司的程序员早期做过的产品中,有一个需求是查找用户附近的商铺(包含关键字)商铺的数据有130多万,全放存放在MySQL中,发现用MySQL
      LIKE“wsOehh%”这种方式检索geohash值性能瓶颈很大,检索130万行的数据,平均花费了8秒,这种响应速度在生产环境中是无法忍受的。后来经过不断优化,确定了CoreSeek+Redis+MvSQL的解决方案,一下子就把响应速度减少到可接受的程度,这个方案的如下
      ·用每个商铺的坐标值转换为geohash,用geohash作为Key,商铺的id作为Value.存储在Redis的set结合中。
      ·根据用户的坐标计算geohash,在Redis中用“keys*“的方法匹配查找用户附近的商铺geohash (geohash的特点是geohash编码的前缀可
        以表示个区域),获得商铺id。例如,用户坐标的geohash值是“wsOehh“,在Redis中使用“wsOehh*“搜索前缓为“wsOehh“的Key,
        根据Key获取Rset集合中保存的商铺id。
      ·把商铺id作为附加筛选条件,再加上主条件(例如商品的名称关键字)在CoreSeek中继续查找相应的数据。
        注意:这个方案的性能最终受限于Redis的读取速度,由于Redis的“*”号操作是遍历Redis中的所有Key,当Redis中的Key到迭一定的规模后响应速度会要慢,现在更推荐使用MongoDB来解决LBS问题。
      3.MongoDB解决方案
        MongoDB的一大亮点是封装了大量的地理位置操作,全球流行的LBS服务“Foursquare”、国内著名的打车App“快的”也曾经使用MongoDB的地理位置查询功能。
      关于MougoDB处理LBS的原理和常用操作,请查阅本站前面“APP开发功能之LBS”。
      使用MongoDB开发LBS服务有以下的优点
      ·MongoDB自身的性能高,更新、查询的速度快。
      ·通过副本集、分片等方法,很容易实DhlMongoDB的分布式部署,解决性能瓶颈。
      . MongoDB己在App后台中广泛使用,很多开发者对开发部署MongoDB比较熟悉,减少运维成本。MongoDB可支持下面的地理位置查找。
      ·查询多边形范围的坐标。
      ·查询附近的坐标。
      ·查询圆形区域内的坐标。
      好了,APP开发公司本文关于超找附近的人的项目开发经验就分享到这里,希望能给您的工作带来帮助,如果您有其他方面的疑问,可以联系我们在线客服,谢谢关注,博纳网络便自己整理。

      当前文章链接:/construction/appkaifa/1806.html
      上一篇:社交APP开发升级聊天功能数据库架构与定位解决方法 下一篇:APP开发集群架构如何升级数据库备份配置?
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 珊尔伊

        珊尔伊

        企业网站

        珊尔伊

      • 亨哈山珍食品

        亨哈山珍食品

        集团网站

        亨哈山珍食品

      • 张卫民

        张卫民

        艺术/艺术家

        张卫民

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • 企业网站制作
      • 关键词布局
      • 网站建设开发
      • 网页设计
      • tP代运营
      • 公司网站制作
      • 深圳网站制作
      • 网站建设公司
      • 网站免费制作
      • 网站制作

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 🏠

        首页

      • 💬

        咨询

      • 📞

        通话

      • 📂

        案例

      • ⬆

        返回