问题描述
我正在尝试按照此处的说明进行操作:https://docs.mapbox.com/mapbox-gl-js/example/simple-map/
我的代码如下例所示:
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8" />
<title>display a map</title>
<Meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<script src="https://api.mapBox.com/mapBox-gl-js/v1.12.0/mapBox-gl.js"></script>
<link href="https://api.mapBox.com/mapBox-gl-js/v1.12.0/mapBox-gl.css" rel="stylesheet" />
<style>
body { margin: 0; padding: 0; }
#map { position: absolute; top: 0; bottom: 0; width: 100%;}
</style>
</head>
<body>
<div id="map"></div>
<script>
mapBoxgl.accesstoken = 'MY_TOKEN';
var map = new mapBoxgl.Map({
container: 'map',// container id
style: 'mapBox://styles/ericgithinji/ckfchv1sr0u581amw703zg3jh',//it also fails when I use one of the public styles
center: [-74.5,40],// starting position [lng,lat]
zoom: 9 // starting zoom
});
</script>
</body>
</html>
地图的div不会显示任何内容,即,我得到一个空白网页。我已经按照此处的style_id,tileset ID和访问令牌进行了测试,它们均有效:https://docs.mapbox.com/help/troubleshooting/blank-tiles/
我不知道可能是什么问题。如果有帮助,我的Index.html本地托管在Ubuntu Apache2服务器上。
解决方法
我犯了两个错误:1-使用我的秘密令牌而不是我的公共令牌,以及2-首先没有为自己生成样式(该样式不适用于示例中的默认样式)。