Не удается найти URL-адрес векторной плитки Mapbox для моей карты стиля Mapbox

Кто-нибудь знает, как получить URL-адрес векторной тайловой карты Mapbox (также известной как стиль)? Я могу получить только адрес стиля, который выглядит так: mapbox://styles/myusername/r3411y10ngh4sh3tc3tc, но я использую плагин, который требует URL-адреса для интеграции векторных плиток Mapbox с Leaflet: https://github.com/SpatialServer/Leaflet.MapboxVectorTile/blob/master/docs/configuration.md

Я попытался заменить адрес стиля, предоставленный Mapbox, на URL

var config = {
  url: "mapbox://styles/myusername/fwaoij32wlfij23slkfj3",
  ...etc
};

var mvtSource = new L.TileLayer.MVTSource(config);
map.addLayer(mvtSource);

но я получаю сообщение об ошибке, когда он не может прочитать адрес стиля как URL-адрес. Какие-либо предложения? Стоит ли использовать другой плагин?


Обновить

Короче говоря, URL-адрес стиля Mapbox еще не доступен. Вот ответ, который я получил от Mapbox:

Leaflet еще не совместим со стилями, созданными в Mapbox Studio, поскольку для этих стилей требуется средство визуализации на основе GL. В настоящее время мы работаем над новым API, который позволит вам использовать ваш стиль Studio с Leaflet, и мы ожидаем, что он будет запущен через несколько недель.

В настоящее время вы можете использовать Mapbox GL JS для загрузки своего стиля Mapbox Studio. Вы по-прежнему можете получить доступ к идентификаторам растровых карт (карты, созданные с помощью Mapbox Editor, Mapbox Studio Classic) для загрузки с помощью Leaflet - они находятся на вкладке Classic на панели инструментов Studio.


person modulitos    schedule 19.12.2015    source источник
comment
Это должно быть более очевидно на веб-сайте mapbox.   -  person François Romain    schedule 29.03.2016


Ответы (1)


Плагин Leaflet.MapboxVectorTile использует другой подход к стилям, чем, например, библиотека Mapbox GL JS.

Стили, которые вы создаете в Mapbox Studio, можно загрузить как JSON, но для Leaflet.MapboxVectorTile вы должны создавать их программно, как вы можете видеть в документация. Вы по-прежнему можете использовать URL-адрес их векторной плитки https://b.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token=<public api token>, но стили, вероятно, придется переписывать / создавать заново с нуля.

Вы можете использовать Mapbox Gl Javascript для создания карты с созданным вами стилем. , но я не знаю, насколько обширен ваш текущий проект и будет ли он конфликтовать с другими (Leaflet) плагинами:

mapboxgl.accessToken = '<public API token>';
var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/<your name>/<style id>',
    center: [-74.50, 40],
    zoom: 9
});
person chrki    schedule 21.12.2015