繁体   English   中英

使用mapbox js,如何更改地图样式?

[英]Using mapbox js, how do I change the style of a map?

我已经在header包含了mapbox jscss

<script src='//api.mapbox.com/mapbox.js/v2.2.4/mapbox.js'></script>
<link href='//api.mapbox.com/mapbox.js/v2.2.4/mapbox.css' rel='stylesheet' />

添加了地图html:

<div id='map'></div>
<style>
    body { margin:0; padding:0; }
    #map { width:100%; height:471px; }
</style>

然后在js制作一张地图:

L.mapbox.accessToken = 'pk.eyJ1Ijoic21pY2tpZSIsImEiOiJjaWtiM2JkdW0wMDJudnRseTY0NWdrbjFnIn0.WxGYL18BJjWUiNIu-r3MSA';
var map = L.mapbox.map('map', 'mapbox.streets').setView([40, -74.50], 3);

我不知道如何将其样式更改为mapbox studio中的mapbox

我在mapbox Studio中有两个样式网址:

mapbox://styles/smickie/cikb3fhvi0063cekqns0pk1f1

https://api.mapbox.com/styles/v1/smickie/cikb3fhvi0063cekqns0pk1f1.html?title=true&access_token=pk.eyJ1Ijoic21pY2tpZSIsImEiOiJjaWtiM2JkdW0wMDJudnRseTY0NWdrbjFnIn0.WxGYL18BJjWUiNIu-r3MSA#1.4858291953347187/42.16057367191365/1.6334765316350683/0

如何将这些样式应用于页面中的地图?

这是api,但我找不到在任何地方更改样式的方法: https//www.mapbox.com/mapbox.js/api/v2.2.4/

编辑:由于引入了Mapbox.js API v2.3.0,因此更新了此答案。 它添加了一个L.mapbox.styleLayer ,它可以处理使用Mapbox Studio创建的样式:

L.mapbox.styleLayer('mapbox://styles/mapbox/emerald-v8').addTo(map);

范例: https//www.mapbox.com/mapbox.js/example/v1.0.0/stylelayer/

在Mapbox 2.3.0之前回答:

您使用的API错误,这些样式适用于Mapbox-GL api:

https://www.mapbox.com/mapbox-gl-js/examples/

如果您想像现在一样使用经典的Mapbox API,则需要使用Mapbox Studio Classic创建自己的样式化磁贴集:

https://www.mapbox.com/studio/classic/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM