百度地图 雷达/地理编码 功能使用

本文介绍了如何使用百度地图的雷达功能和地理编码功能。雷达功能允许开发者获取周围用户的位置,减轻服务器压力,而地理编码则实现了地址与坐标的相互转换。文章详细讲解了雷达的注册、初始化、上传和取回信息的步骤,特别是提醒开发者需要注意雷达信息的分页问题。同时,简述了地理编码的正向和反向操作。
摘要由CSDN通过智能技术生成

最近一直在优化软件的bug.. 然后后面可能又要大改.. 所以趁这两天有时间赶紧码两篇博文..=.=

地图功能可以说是现在APP中最常用的功能… 呃.. 之一..
不管是电商,社交,o2o,b2c,p2p,锟斤拷,烫烫烫都需要用地图来辅助..

博客里基本的地图实现已经很多了.. 定位(LBS) .. marker(大头针) .. 弹出窗覆盖物(InfoWindow)..等的基础解决方案已经很多.. 如果有从0开始使用百度地图的哥们我建议你先去看我男神洪神写的

Android 百度地图 SDK v3.0.0

注意其中定位的LocationClientOption中 option.setCoorType(“bd09ll”); 是必须要添加的.. 所有的定位都要基于这一TYPE… 不然定位是很不准的.. 相差近一公里.. 至于为什么有偏移=.= 据说是出于国家安全考虑… 我跟您说… 我党可是牛逼了.. 据说啊…咱们的地图位置.. 等会… 我拿个忄

百度地图的API到现在仍然没有太大变化.. 实现基础的功能依然没有问题.. 好了大家去看他写的吧.. 我走了.. 哎哎哎.. 把刀放下!! 都是同行那么暴躁干嘛..

地图雷达

先说官方的解释吧..
周边雷达功能,是面向移动端开发者的一套SDK功能接口。同步支持Android和iOS端。它的本质是一个连接百度LBS开放平台前端SDK产品和后端LBS云的中间服务。
(。_°☆ ╲ (- – ).. 扯什么犊子呢..

说白了就是能看见周围用同一款软件人的位置.. 而且这个数据由百度维护.. 很大程度降低了服务器的压力.. 不然服务器还要提供数据.. 算用户之间距离什么的.. 这些都可以交给雷达完成..

1. 基本使用

基础的实现其实是非常简单的.. 无非是去取回信息.. 调用雷达就可以取得周围的用户的list.. 然后遍历list获取你想要的用户就行了..

1.首先你需要在你的API控制台注册你的雷达..

注册雷达

2.初始化并注入你的信息

RadarSearchManager mManager = RadarSearchManager.getInstance();//初始化

//设置信息
//周边雷达设置监听
mManager.addNearbyInfoListener(this);
//周边雷达设置用户身份标识,id为空默认是设备标识
mManager.setUserID(userID); //注意ID是一定要设置的.. 而且必须是String类型..如果不设置拿回来的ID是设备号(我也不知道是啥).. 反正跟server上的肯定对不上号..

其中你需要让自己的类实现
RadarSearchListener, RadarUploadInfoCallback

一个是上传完成后的监听.. 一个是检索雷达信息后的回调

3.开始上传

上传分为单次上传和多次上传.. 单次上传了解一下就行了.. 估计没什么公司有这需求.. 就传一次不能保证雷达里有你实时的位置不就没意义了么..

单次上传
//上传位置
RadarUploadInfo info = new R
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
百度地图提供了丰富的 JavaScript API,可以在 React 前端项目中轻松使用。要使用百度地图雷达功能,需要先引入百度地图的 JavaScript API,并在合适的位置创建地图实例。然后,可以使用百度地图提供的 Radar 类来创建雷达图。 以下是一个基本的示例代码: ```jsx import React, { useEffect } from "react"; function Map() { useEffect(() => { const script = document.createElement("script"); script.src = "http://api.map.baidu.com/api?v=2.0&ak=你的AK值&callback=init"; script.async = true; document.body.appendChild(script); window.init = () => { const map = new window.BMap.Map("map-container"); map.centerAndZoom(new window.BMap.Point(116.404, 39.915), 11); const points = [ new window.BMap.Point(116.387, 39.920), new window.BMap.Point(116.385, 39.913), new window.BMap.Point(116.394, 39.917), new window.BMap.Point(116.380, 39.920), ]; const options = { positions: points, shape: "circle", color: "#ff0000", opacity: 0.8, zIndex: 10, }; const radar = new window.BMapLib.Radar(map, options); }; }, []); return <div id="map-container" style={{ height: "500px" }}></div>; } export default Map; ``` 在这个示例中,我们首先使用 useEffect 钩子在组件挂载时异步加载百度地图的 JavaScript API,并在 window 对象中定义了一个 init 函数。在这个函数中,我们创建了一个地图实例,指定了地图的中心点和缩放级别。然后,定义了一个 points 数组,包含了雷达图的多个点位,以及雷达图的参数。最后,使用 BMapLib.Radar 类创建了一个雷达图实例,并将其添加到地图中。 需要注意的是,在使用百度地图的 JavaScript API 时,需要将你的 AK 值替换掉示例代码中的“你的AK值”。另外,百度地图的 JavaScript API 是通过异步加载的方式使用的。因此,在组件卸载时,需要手动删除页面上加载的 script 标签,以避免内存泄漏。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值