Mapbox 瓦片和 Leafletjs
Posted
技术标签:
【中文标题】Mapbox 瓦片和 Leafletjs【英文标题】:Mapbox tiles and Leafletjs 【发布时间】:2016-09-07 01:31:25 【问题描述】:我正在尝试在我的地图上加载一些额外的切片图层,但我无法完全弄清楚。我目前拥有的那些我只感谢提供教程但没有说明其他瓷砖选项的人。有人可以帮我解决这个问题吗?
var mapboxUrl = 'https://api.tiles.mapbox.com/v4/id/z/x/y.png?access_token=accessToken';
var accessToken = 'mySuperSecretToken';
var grayscale = L.tileLayer(mapboxUrl, id: 'mapbox.light', attribution: '', maxZoom: 20, accessToken: accessToken),
streets = L.tileLayer(mapboxUrl, id: 'mapbox.streets', attribution: '', maxZoom: 20, accessToken: accessToken);
我似乎不知道如何获得任何额外的图层,甚至无法使用我今天收到的电子邮件中提到的新街道版本。
【问题讨论】:
【参考方案1】:其实我终于找到了答案。
需要更新的 URL 字符串
https://api.mapbox.com/styles/v1/mapbox/id/tiles/z/x/y?access_token=accessToken
可用的样式 (id) 是
streets-v9 satellite-streets-v9 light-v9 dark-v9 户外-v9【讨论】:
最新名单在这里:mapbox.com/api-documentation/#styles【参考方案2】:Mapbox 经典地图 ID 的完整列表,即 Leaflet,位于 https://www.mapbox.com/api-documentation/#maps。
在撰写本文时,ID 为:
mapbox.streets mapbox.light mapbox.dark mapbox.satellite mapbox.streets-satellite mapbox.wheatpaste mapbox.streets-basic mapbox.comic mapbox.outdoors mapbox.run-bike-hike mapbox.pencil mapbox.pirates mapbox.emerald mapbox.high-对比度【讨论】:
有没有办法让id动态化,例如在mapbox.satellite和mapbox之间切换,点击按钮时的街道什么的? 我似乎无法在 mapbox 文档上找到 ID,甚至在 @VictorHäggqvist 提供的链接上也找不到。是我自己还是他们真的把它们藏在了某个地方?【参考方案3】:实际上,Mapbox 所指的新瓦片层“样式”是矢量瓦片层。
Mapbox-GL JS 使用您列出的矢量styles (xxx-v9)。 (截至 2019 年 5 月更新)
Mapbox JS 构建在 Leaflet (L.tilelayer())
之上,并使用光栅图块集,即图像。 Here are the available basemaps 来自 Mapbox。
【讨论】:
我在该链接上找不到 MapBox JS 构建底图。他们是否更改了链接? 链接已更改,mapbox 不再维护此 api,并且似乎他们已竭尽全力隐藏此信息。上面来自维克多的答案有一个很好的,可能是完整的可用底图列表。以上是关于Mapbox 瓦片和 Leafletjs的主要内容,如果未能解决你的问题,请参考以下文章