利用高德云图开发附近的人功能

最近业务有新需求需要App加入附近的人功能,可以查看附近一公里范围内使用我们开发的App用户

方案一

最初想法是公司自己创建表维护用户的经纬度,这其中有几个关键属性:

用户标识

用户最后一次上传的经纬度

坐标类型(由于百度有自家坐标系,所以为了将来业务的可扩展性加上此字段)

用户最后的更新时间(好久没更新的当然就报废掉)

业务场景实现:

挡App用户打开周边人功能时即上报当前位置

服务器拿到此用户当前坐标位置计算出此坐标1公里范围内最小经度和最大经度;最小维度和最大维度(计算方法请自动Google,高德的Web服务API暂时没提供此功能)再结合根系时间区间找出符合的所有坐标的用户,返回给App,由App调用高德距离计算的sdk计算离中心点距离后显示

方案二

但是由于之后发现高德提供了LBS云图功能完全可以把用户坐标数据存储在高德云图数据库,而且高德已经云图做了相关动态性能的调整,故此以上做法被Pass,直接选择高德的云图功能开发附近的人功能

使用流程:

第一步、注册附近派单功能

在使用附近派单之前,需要对应用的密钥(Key)做相应的注册操作。支持多个移动端app做位置信息上传,及一个或多个app、或服务端之间实现位置信息排名的查看功能。

第二步、集成SDK

附近派单功能是Android SDK搜索包产品的一个功能模块,需在官网下载包含附近派单功能的SDK,并将其集成到自己的开发环境中即可。

第三步、开发

完成附近派单功能的注册和SDK集成后,即可开始具体功能的开发工作,如需在服务端检索距离排名请参考后文云图检索服务部分的详细介绍。

注册附近派单功能

注册附近派单是使用其相应功能的基础前提。通过注册可实现一个或多个应用之间的关系绑定,实现后续的位置数据排名空间检索。

进入附近派单功能的绑定及管理页面:

Android为例:

首先需要信息上传

search.startUploadNearbyInfoAuto(new UploadInfoCallback() {
//设置自动上传数据和上传的间隔时间
@Override
public UploadInfo OnUploadInfoCallback() {
       UploadInfo loadInfo = new UploadInfo();
       loadInfo.setCoordType(NearbySearch.AMAP);
       //位置信息
       loadInfo.setPoint(latLonPoint);
       //用户id信息
       loadInfo.setUserID("用户的id");
       return loadInfo;
}
},10000);

检索周边用户

可实现附近用户位置信息检索的能力。 检索过程支持距离、时间等约束条件;返回结果支持按照距离由近及远的排序。可以通过云图检索服务在业务服务端请求检索结果。

1、继承 NearbyListener 监听。

2、构造 NearbySearch 对象,并设置监听。

//设置搜索条件
NearbyQuery query = new NearbyQuery();
//设置搜索的中心点
query.setCenterPoint(new LatLonPoint(39, 114));
//设置搜索的坐标体系
query.setCoordType(NearbySearch.AMAP);
//设置搜索半径
query.setRadius(10000);
//设置查询的时间
query.setTimeRange(10000);
//设置查询的方式驾车还是距离
query.setType(NearbySearchFunctionType.DRIVING_DISTANCE_SEARCH);
//调用异步查询接口
NearbySearch.getInstance(getApplicationContext())
        .searchNearbyInfoAsyn(query);

此种过程都无需Server参与即可达到实现附近的人功能.又能减轻自己服务器压力.

时间: 2024-11-03 11:30:59

利用高德云图开发附近的人功能的相关文章

利用高德地图官方提供的API实现模拟定位的功能

使用高德地图API需要申请一个开发者ID号以及我所用的相关资源:  http://pan.baidu.com/disk/home?fr=ibaidu 该文件夹中有一个官方文档,AMap_IOS_API_Guid,提供了使用方法供开发者参阅. 利用高德地图官方提供的API实现模拟定位的功能,布布扣,bubuko.com

黑客利用HTTPS技术开发更多攻击方式

HTTPS协议并不像人们认为的那样安全.戴尔安全最近发现,利用HTTPS注入恶意软件的入侵事件数量正在增加. 戴尔安全通过流量探测器抓取了全球HTTPS链接的数量,该数字从2014年一月的1820亿上涨到了2015年三月的4370亿. 这意味着,HTTPS方式成为了网络连接的主流,在过去的一年中平均占到总连接数的60%.尽管该数字并未得到其它公司证实,但从SSL/TLS的快速发展情况上也能推断,加密网络链接几乎成为了当今的默认连接方式. 不幸的是,犯罪分子也明白这种趋势,他们利用HTTPS技术开

四、利用EnterpriseFrameWork快速开发基于WCF为中间件的三层结构系统

回<[开源]EnterpriseFrameWork框架系列文章索引> 本章内容与上一张<利用EnterpriseFrameWork快速开发Winform系统(C/S)>关系紧密,WCF模式只是在Winform模式中的界面层和逻辑层之间加入了WCF中间件用来实现双方的通讯,说得更简单一点就是把Winform模式中的winController控制器给拆分为wcfController与wcfclientControlle两个控制器并用WCF实现两个控制器之间的通讯,双方数据传递与Web模

讲诉从酒店服务业到IT行业的心酸取经路,另附拙作 ASP.net(C#)利用SQL Server实现注册和登陆功能

楼主本人姓周,名XX,老家是曾国藩故居的,说起来和古人也算是邻里邻居. 92年出生,去年大专毕业,到现在毕业快要一年了,大学里学的专业是酒店管理,我们对外宣称为"第三产业"呵呵.到这里你们可能会心生疑问,咦,大学里怎么会有"酒店专业",你怎么会选它?说到这,楼主不得不提起一个人,那就是我的堂姐,楼主填志愿那年,人小不懂事,根本不知道如何去选择自己的专业,家里人就更不懂了,所以填志愿的事都在我这个堂姐手里做的主,填的那个学校是湖南长沙的,三年大专制,因为我这个表姐本人

高德Web开发入门之一

高德Web开发 一.地图开发阐述 1)不管是高德地图的Web开发使用,亦或是百度地图的应用开发,都可以直接百度"高德地图/百度地图",进入地图首页下边"开放平台".然后就可以更具自己需要的功能选择不同的API. 2)如果使用API必须进行注册得到自己的一个KEY,这个key是需要在以后的代码中用到的,所以一定要先记下来. 3)在开发过程中不像其他前端框架需要引用jar包,所以不应担心环境的架设,只需要按照下边的步骤做就可以,不必担心. 4)在地图上需要注意的功能:本

利用Docker构建开发环境

最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境,感觉生活在PAAS时代的程序员真是幸福,本文会简要介绍下Docker是什么,如何利用Docker来搭建自己的开发环境(本文主要是面向Mac OS X),以及期间所遇到的一些坑和解决方案.(本文会要求你对PAAS.LXC.CGroup.AUFS有一定的了解基础,请自行Google ) 大背景–虚拟化技术历史 计算机虚拟化技术由来已久,从硬件仿真到全虚拟化,再到准虚拟化和操作系统虚拟化,各种技术粉墨登场,种类繁多,

8个开发必备的PHP功能

做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握. 1.传递任意数量的函数参数 我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数的参数.下面这个示例向你展示了PHP函数的默认参数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // 两个默认参数的函数 functi

【Jsp】利用Application对象实现访问人数统计功能

利用Application对象实现访问人数的统计很常见,但是一些书籍讲解这一技术的时候,往往没有做完整.一旦服务器重启,由于Application会被销毁,重新建立,人数统计则会再一次从零开始.解决方法,个人认为,应该同时利用到数据库,这样无论服务器要重启或者遭遇到停机什么,被统计的人数还是会一直累计上去,不会丢失.下面就介绍一个例子,解决利用Application对象实现访问人数统计功能由于服务器重启或者停机而导致从零开始的问题,同时介绍如果利用Application对象把保存到web.xml

8个开发必备的PHP功能--转(柒捌玖零)

做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握. 1.传递任意数量的函数参数 我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数的参数.下面这个示例向你展示了PHP函数的默认参数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // 两个默认参数的函数 functi