我正在使用mapbox-gl-js在我的网站上呈现地图。我在mapbox Studio中制作了地图样式,也使用了其他tileset。我最近更新了这些(相当大的)tileset,并更改了一些样式。在mapbox studio中,该样式效果很好,但是当我尝试在自己的网站上查看地图时(不变),我遇到了一些错误,例如“未捕获的TypeError:无法读取未定义的属性'type'”(或其他属性),并且地图不会呈现。
我已经检查了令牌和样式地址,但是我想问题是我的地图样式...这是它的URL:
mapbox:// styles / clemapbox / cjml1byyjq6jt2rni6wbjn3lt
这是最少的代码:
ValueError: too many values to unpack (expected 2)
答案 0 :(得分:1)
这里的问题似乎是与您的样式和所使用的GL JS版本不兼容。具体来说,因为您的样式使用的是text-radial-offset
样式属性,GL + JS直到+ v0.54.0才支持该样式属性。
当我更新您的示例所使用的GL JS版本时,我能够产生预期的结果:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.54.0/mapbox-gl.css' rel='stylesheet' />
<title>MINIMAL TEST</title>
</head>
<body>
<section id='map' style="width:500px;height:500px;"></section>
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.54.0/mapbox-gl.js'></script>
<script>
mapboxgl.accessToken = 'pk.eyJ1IjoiY2xlbWFwYm94IiwiYSI6ImNqOHVsbjdpdDBxM2wyd3JwcnVjZGtsZmsifQ.cv3w8BmCJAy0f0YF1ZFSTA';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/clemapbox/cjml1byyjq6jt2rni6wbjn3lt',
});
</script>
</body>
</html>
通过Studio中的设置,可以方便地检查哪个客户端库与您的样式兼容:
⚠️免责声明:我目前在Mapbox⚠️
工作