高德地图自定义样式不生效_高德最新配置密钥_vue使用高德地图问题
2025-11-20 21:02:04
高德地图更新了配置规则,web端引入需要额外配置安全密钥,并引发了一系列的问题,比如自定义样式不生效等
3256
vue使用步骤:
1.引入高德地图
npm i @amap/amap-jsapi-loader --save
2.引入并配制安全密钥
import AMapLoader from '@amap/amap-jsapi-loader';
<script type="text/javascript">
window._AMapSecurityConfig = {
serviceHost:'您的代理服务器域名或地址/_AMapService',
// 例如 :serviceHost:'http://1.1.1.1:80/_AMapService',
}
</script>
AMapLoader.load({
"key": "", // 申请好的Web端开发者Key,首次调用 load 时必填
"version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
"plugins": [], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
}).then((AMap)=>{
map = new AMap.Map('container');
}).catch(e => {
console.log(e);
})
3.如果需要安全考虑,可以用服务器nginx转发
server {
listen 80; #nginx端口设置,可按实际端口修改
server_name 127.0.0.1; #nginx server_name 对应进行配置,可按实际添加或修改
# 自定义地图服务代理
location /_AMapService/v4/map/styles {
set $args "$args&jscode=您的安全密钥";
proxy_pass https://webapi.amap.com/v4/map/styles;
}
# 海外地图服务代理
location /_AMapService/v3/vectormap {
set $args "$args&jscode=您的安全密钥";
proxy_pass https://fmap01.amap.com/v3/vectormap;
}
# Web服务API 代理
location /_AMapService/ {
set $args "$args&jscode=您的安全密钥";
proxy_pass https://restapi.amap.com/;
}
}
4.使用自定义地图
//在第二步的时候 更改load的引入
var map = new AMap.Map('container',{
mapStyle: 'amap://styles/whitesmoke', //设置地图的显示样式
});
PS:自定义地图需要引入自己的,如果想用别人的样式,需要在https://geohub.amap.com/mapstyle/index 自定义平台登陆自己账号,并打开别人分享的链接,点击左下角引入自己样式就可以了
