高德地图jsapi不生效 INVALID_USER_SCODE

一段时间未使用高德地图开发web网页,今天需要使用它的POI搜索功能,按照老规矩,登录高德开发者,打开控制台,新建应用,此时出现了新的东西—安全密钥,本文的主角。
在这里插入图片描述
此时,它并没有引起我的注意,我依旧按着步骤,在vue中引入jsapi包,注册插件,加载高德api

AMapLoader.load({
  "key": "你的key",
  "version": "2.0",
  "plugins": ['AMap.PlaceSearch'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
}).then((AMap) => {
  const { Map, PlaceSearch } = AMap
  const amap = new Map('amap', {
    center: [120.980795, 31.385476],
    zoom: 10,
    resizeEnable: true
  });

  const placeSearch = new PlaceSearch({
    pageSize: 10, // 单页显示结果条数
    pageIndex: 1, // 页码
    city: "010", // 兴趣点城市
    citylimit: true,  //是否强制限制在设置的城市内搜索
    map: amap, // 展现结果的地图实例
    autoFitView: true // 是否自动调整地图视野使绘制的 Marker点都处于视口的可见范围
  });
  //关键字查询
  placeSearch.search('药房', (status, result) => {
    console.log(status);
    console.log(result);
  });
})

上述代码就是调用高德地图的POI搜索功能,示例是正常的,而到项目中就显示不出标注点,下图是官网示例:
在这里插入图片描述
遇到问题那就解决问题,首先把AMap,PlaceSearch都打印出来,发现对象是确实存在的,说明引入没有问题。然后在PlaceSearch的 search 方法回调中打印 statusresult ,status是 error ,result是 INVALID_USER_SCODE ,翻译过来是无效的用户范围。百度这个关键词,翻了一些不相关的文章后,找到一篇有用的内容,高德地图js api出现INVALID_USER_SCODE

还记得最开始提到的安全密钥嘛,高德地图自2021年12月02日升级,升级之后所申请的 key 必须配备安全密钥 jscode 一起使用。问题就这么简单,官网地址,安全密钥的使用方法有两种,官网有介绍,这里就写一下vue3项目开发环境的写法:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" href="/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
    <title></title>
    <script type="text/javascript">
      window._AMapSecurityConfig = {
          securityJsCode:'你的密钥',
      }
    </script>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

刷新页面就有标注点了
在这里插入图片描述

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
INVALID_USER_SCODE是一个错误代码,表示无法定位用户的key。这个错误通常发生在使用地图API时,可能是由于key的问题导致的。要解决这个问题,可以尝试重新更换key。可以通过申请一个新的key来解决这个问题。另外,自2021年12月02日起,申请的key必须配备安全密钥jscode一起使用。添加成功后,可以获取到key值和安全密钥jscode。在引入地图JSAPI脚本之前,还需要增加代理服务器设置脚本标签,并设置代理服务器域名或地址。确保设置正确的代理服务器域名或地址,并将_AMapService替换为您的代理服务器域名或ip地址。这个设置必须在JSAPI的脚本加载之前进行设置才有效。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [INVALID_USER_SCODE BUG 解决方案](https://blog.csdn.net/PigSeeSunset/article/details/53733940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [高德地图定位获取不到报错INVALID_USER_SCODE](https://blog.csdn.net/weixin_45847765/article/details/126968395)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值