高德地图自定义样式不生效是怎么回事?

东霞 Dev 阅读 36

我用高德地图 JS API 加载了一个自定义的 JSON 样式,但地图还是显示默认的样式,完全没变。我确认 JSON 格式是对的,也调用了 setMapStyle 方法,但就是没效果,是不是哪里漏了?

我试过把官方示例的样式直接复制过来,也一样不生效。控制台也没报错,就是静默失败。这是我的关键代码:

const map = new AMap.Map('container', {
  zoom: 10,
  center: [116.397428, 39.90923],
  viewMode: '2D'
});

map.setMapStyle('amap://styles/xxxxx'); // 这里用的是自定义样式的 URL
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
A. 玉硕
A. 玉硕 Lv1
检查两点:1.样式URL要带.json后缀 2.等地图load事件触发后再setMapStyle。改这样:
map.on('complete', () => {
map.setMapStyle('amap://styles/xxxxx.json');
});
点赞
2026-03-06 14:02