首页 > 代码库 > APP搜索附近功能的一种解决方案-基于百度LBS云服务
APP搜索附近功能的一种解决方案-基于百度LBS云服务
为了在APP中根据定位实现搜索附近(POI)的功能,采用百度LBS云服务,将所有POI数据上传后,可以实现该功能。
LBS数据管理地址:在这里标记信息后(支持批量上传)即可开始使用搜索功能。
http://lbsyun.baidu.com/datamanager/datamanage
搜索附近接口地址:
http://api.map.baidu.com/geosearch/v3/nearby
请求方式:
GET
参数:
{
ak:‘540b088ff0f926b7d0b6d5a641******‘, //app key,需要到百度开放平台申请
geotable_id:89059, //数据表id,在上面的LBS数据管理地址中获取 location=117.118675,39.078544, //用户坐标或经纬度,需要获取定位
coord_type:3, //坐标类别,3表示百度坐标,请看下面的说明
radius:1000, //搜索范围,单位米,
page_index:0 , //页码
page_size:10 , //每页显示记录条数
q:‘美特斯邦威‘, //关键词,将对附近的店铺再次匹配搜索,可为空
sortby:distance:1 //按距离升序排列,-1表示降序 } /** coord_type说明,请根据自己获得的location信息来改变该参数,采用百度定位SDK应设置为3,
采用HTML5定位应该设置为1 1:GPS经纬度坐标 2:国测局加密经纬度坐标 3:百度加密经纬度坐标 4:百度加密墨卡托坐标 **/
返回值:
{ "status": 0, "total": 5,//结果数 "size": 5, "contents": [ { "title": "天津", //地点名称 "location": [ 117.068811, 39.062756 ], "city": "天津市", "create_time": 1419229456, "geotable_id": 89059, "address": "天津", "tags": "", "province": "天津市", "district": "西青区", "uid": 576117245, "coord_type": 3, "type": 0, "distance": 4650, //距离,单位米 "weight": 315 }, { "address": "天津市河北区金纬路111号(米兰超市河北店)外1号", "city": "天津市", "create_time": 1419053693, "district": "河北区", "geotable_id": 89059, "icon_style_id": "sid1", "location": [ 117.208617, 39.155932 ], "modify_time": 1419229238, "province": "天津市", "tags": "商铺", "title": "美特斯邦威(金纬路店)", "uid": 574315040, "coord_type": 3, "type": 0, "distance": 11580, "weight": 54 }, { "address": "天津市和平区和平路194-196号", "city": "天津市", "create_time": 1419053596, "district": "和平区", "geotable_id": 89059, "icon_style_id": "sid1", "location": [ 117.201581, 39.135009 ], "modify_time": 1419229243, "province": "天津市", "title": "美特斯邦威(和平路店)", "uid": 574314000, "coord_type": 3, "type": 0, "distance": 9515, "weight": 54 }, { "address": "天津市河西区大沽南路华润万家南楼北店1楼(近东楼)", "city": "天津市", "create_time": 1419226421, "district": "河西区", "geotable_id": 89059, "icon_style_id": "sid1", "location": [ 117.230504, 39.103007 ], "modify_time": 1419229272, "province": "天津市", "title": "美特斯邦威(南楼北店)", "uid": 576070688, "coord_type": 3, "type": 0, "distance": 10037, "weight": 54 }, { "address": "天津市和平区滨江道153号一层至二层和华中路2号的一层至四层", "city": "天津市", "create_time": 1419053799, "district": "和平区", "geotable_id": 89059, "icon_style_id": "sid1", "location": [ 117.204502, 39.128208 ], "modify_time": 1419229233, "province": "天津市", "tags": "商铺", "title": "美特斯邦威(滨江道店)", "uid": 574316229, "coord_type": 3, "type": 0, "distance": 9238, "weight": 54 } ] }
返回参数详细表格,可供参考:
这样,就实现了搜索附近功能,依托百度的云平台,我们可以得到比较稳定的服务。
百度LBS开放平台还提供了一个搜索指定区域的接口,和搜索附近是不一样的,可以根据实际需求来选用,详细内容这里就不介绍了,有兴趣的可以参考百度LBS云的开发者文档。
APP搜索附近功能的一种解决方案-基于百度LBS云服务
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。