You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MapBox渲染网页地图报Uncaught ReferenceError: mapboxgl is not defined错误

报错Uncaught ReferenceError: mapboxgl is not defined的核心原因是:浏览器执行地图初始化代码时,尚未加载Mapbox GL JS核心SDK,无法识别mapboxgl全局对象。

解决步骤
  • 第一步:在页面中优先引入Mapbox GL JS的样式文件与核心JS SDK,引入位置必须放在你自己编写的地图初始化脚本之前。
    引入代码如下:
    <!-- Mapbox GL JS 样式文件 -->
    <link href="https://api.mapbox.com/mapbox-gl-js/v2.15.0/mapbox-gl.css" rel="stylesheet">
    <!-- Mapbox GL JS 核心SDK -->
    <script src="https://api.mapbox.com/mapbox-gl-js/v2.15.0/mapbox-gl.js"></script>
    
  • 第二步:调整代码执行顺序,确保地图初始化逻辑在SDK加载完成后执行,最简单的实现方式是将你的初始化<script>标签放在上述SDK引入标签的下方。
  • 第三步:当前报错解决后如果仍存在地图加载异常,检查代码中的mapToken是否已正确赋值为你个人申请的有效Mapbox访问令牌。
完整可运行示例
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Mapbox基础地图</title>
    <link href="https://api.mapbox.com/mapbox-gl-js/v2.15.0/mapbox-gl.css" rel="stylesheet">
    <script src="https://api.mapbox.com/mapbox-gl-js/v2.15.0/mapbox-gl.js"></script>
</head>
<body>
    <div id='map' style='width: 400px; height: 300px;'></div>
    <script>
        // 替换为你自己的Mapbox访问令牌
        const mapToken = "你的有效Mapbox访问令牌";
        mapboxgl.accessToken = mapToken;
        const map = new mapboxgl.Map({
            container: 'map',
            style: 'mapbox://styles/mapbox/streets-v11',
            center: [-74.5, 40],
            zoom: 9
        });
    </script>
</body>
</html>

内容的提问来源于stack exchange,提问作者Artiom O

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:54:03