前言
最近碰到一个需求,就是将我们系统中要导出一系列的工作数据,这里面有一个需求就是根据工作人员的经纬度去获取他可能的位置。说到这里大家肯定能想到用地图API了,我这里用的是百度地图的API(详情可参考)。然后这里就涉及到一个问题,工作数据是很多条的,但是这里的API很明显就只能一条一条的去请求,那么我们怎么封装能够达到我们的目的呢。
获取百度AK
首先呢,我们想要使用百度地图相关的API的话,肯定是要去注册申请相关的使用资格的,详细的账号申请流程呢,请戳这里,这里面详细介绍了如何注册并申请百度AK,只有拿到了AK,我们在使用相关的API时才会有效,否则是不生效的话,所以大家一定要保证有AK并且是有效的哈。
两种逆地址解析的方法
申请好了AK之后呢,这里有两种使用方法:
一种是直接通过url来进行请求,像是下边这种
http://api.map.baidu.com/geocoder?location=39.910093,116.403945&output=json&key=你的百度AK
复制代码
这种方法使用的话,大家可以直接把这个url放到axios或者ajax里面,然后他的回调里面返回的就是我们想要的地址等相关信息了。另一种方法就是官网里面介绍的方法:
// 初始化地图,这里的window可能需要从父组件传过来,原理还没弄清楚
var map = new window.BMap.Map("allmap");
// 创建地理编码实例
var myGeo = new window.