在使用geocoding API进行地理编码(地名与经纬度的转换),调用接口时返回的data中显示"status":240,“message”:“APP 服务被禁用”,解决方案如下:

方 案 一 \color{red}{方案一}

  • 重新申请一个服务类型ak(刚开始申请的是浏览器类型的)
    在这里插入图片描述
  • 将新申请到的ak替换掉原来的ak,其他的代码不变
    如果这样解决不了问题的话就进行方案二???

方 案 二 \color{red}{方案二}

  • 检查自己写的路径中使用版本的是V3还是V2,如果是新用户的话使用V3版本

    • V3版本url
      http://api.map.baidu.com/geocoding/v3/?address=西安市&output=json&ak=你的ak&callback=showLocation
      
    • V2版本url
      http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=产业园&city=西安市&ak=您的ak
      
  • 完整的请求代码:

    // 地址解析
       getChart(){
         this.$axios.get("/address/geocoding/v3/?address=西安市&output=json&ak=你的ak&callback=showLocation").then(res=>{
           console.log(res.data.result)
         })
       }
    //注意:完整的url为“http://api.map.baidu.com/geocoding/v3/?address=西安市&output=json&ak=你的ak&callback=showLocation”,因为我在使用的过程中存在跨域问题,所以单独进行配置了
    
  • 结果显示:
    在这里插入图片描述

总结

方案二主要是版本问题,针对老用户来说两个版本都可以使用,但对新用户来说就不一样啦!
在地址解析时出现{“status”:240,“message”:“APP 服务被禁用”}的问题解决方案就是以上两种,若有更好的方案欢迎在下面???分享。

更多参考:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding

Logo

前往低代码交流专区

更多推荐