vue调用百度地图定位api

一、去百度地图开放平台注册账号,然后创建ak
在这里插入图片描述
二、可以再平台中找到api的文档
这里是请求的路径

http://api.map.baidu.com/location/ip?ak=您的AK&ip=您的IP&coor=bd09ll

https://api.map.baidu.com/location/ip?ak=您的AK&ip=您的IP&coor=bd09ll

参数只有ak是必填

三、如果直接用上面的路径去请求,正常情况下会出现跨域
接下来就要处理跨域问题了

跨域可以在vue项目中的config目录下的index文件中配置

proxyTable: {
  "/api": {
    target: "http://api.map.baidu.com", // 请求的第三方接口
    changeOrigin: true, // 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,解决跨域问题
    pathRewrite: {
      "^/api": "" // 替换target中的请求地址。
    }
  }
},

四、接下来就可以请求数据了

this.$axios
  .get("/api/location/ip", {
    params: {
      ak: 我的ak,
      coor: "bd09ll"
    }
  })
  .then(res=>{
    console.log(res);
  })
  .catch(err=>{
    console.log(err);
  });

最后会根据你的IP返回给你数据

结果示例:

{  
    address: "CN|北京|北京|None|CHINANET|1|None",    #详细地址信息  
    content:    #结构信息  
    {  
        address: "北京市",    #简要地址信息  
        address_detail:    #结构化地址信息  
        {  
            city: "北京市",    #城市  
            city_code: 131,    #百度城市代码  
            province: "北京市",    #省份      
        },  
        point:    #当前城市中心点  
        {  
            x: "116.39564504",    #当前城市中心点经度
            y: "39.92998578"    #当前城市中心点纬度
        }  
    },  
    status: 0    #结果状态返回码  
}
### 如何在 Vue调用百度 API 接口 #### 获取访问令牌 为了能够成功调用百度API,首先需要获取访问令牌。这可以通过向特定URL发送GET请求来完成。 ```javascript this.axios.get('/baiduApi/oauth/2.0/token?grant_type=client_credentials&client_id=KXBwgOkyn6H&client_secret=32uqmGIdHqD7RcrBRkVRG&',{headers:{dataType:'json'}}).then(res => { if (res.status === 200){ this.access_token = res.data.access_token; } })[^1]; ``` 上述代码展示了如何通过`axios`库发起HTTP GET请求到指定路径以获得OAuth 2.0授权所需的access token,并将其存储起来以便后续使用。 #### 调用具体服务端点 一旦获得了有效的访问令牌,就可以利用它去调用其他具体的百度API服务了。这里给出了一种方式——创建一个专门用于处理网络请求的对象实例并导出函数供组件内部调用: ```javascript import httpInstance from '@/utils/http'; export function getHomeNav() { return httpInstance({ url: 'http://10.0.11.91:91/dailyreport/getdailyreportall', }); }[^2] ``` 此部分说明了怎样封装一次API调用逻辑成独立方法的形式,在实际开发过程中可以根据需求调整目标url以及参数配置等内容。 #### 加载外部脚本资源 对于某些类型的百度API来说,可能还需要加载额外的JavaScript文件作为依赖项。可以在项目的入口HTML文档里加入相应的 `<script>`标签实现这一点: ```html <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=<ak值>"></script> ``` 这段代码片段指示浏览器从给定位置下载并执行地图API相关的JS代码,从而使得页面中的JavaScript可以访问该API所提供的功能[^3]。 综上所述,以上就是在Vue项目中集成和调用百度API接口的主要步骤和技术要点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值