Завантажуєте векторний шар плитки на мапі листівки?


9

Мені потрібно завантажити векторний шар плитки на карту Leaflet.

Векторна плитка - це векторний плитковий шар про послідовності Mapillary (дивіться на https://a.mapillary.com/#vector-tiles ...), а шаблон URL-адреси плитки:

https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox

векторна плитка використовує векторний формат плитки Mapbox.

Я шукав в мережі, але не знайшов зразка: я бачив, що це можна зробити за допомогою Mapbox, але якщо це можливо, я хотів би використовувати лише Leaflet

Відповіді:


11

У Leaflet 0.7x, це легко зробити за допомогою Leaflet.MapboxVectorTileплагіна . Вам просто потрібно вказати шаблон URL-адреси в urlопції конфігурації. Документація на плагіни описує інші доступні параметри конфігурації . Щоб додати дані Mapillary, ви використовуєте їх так:

var config = {
  url: "https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox"
};
var mapillarySource = new L.TileLayer.MVTSource(config);
map.addLayer(mapillarySource);

Ось загадка, що показує результат:

http://fiddle.jshell.net/nathansnider/sj12o4hj/

Для листівка 1.0x, ви хочете використовувати Leaflet.VectorGrid «S L.vectorGrid.protobufметод. У ньому є декілька варіантів стилізації, описаних у документах, але для просто завантаження плиток ви використовуєте це так:

var url = 'https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox';
var mapillaryLayer = L.vectorGrid.protobuf(url).addTo(map);

Приклад скрипки:

http://fiddle.jshell.net/nathansnider/mwmpmLo7/


Чудово !! це працює. Простий, зрозумілий і з прикладом. Кращий!
Чезаре

3
@nathansnider Ваш JSFiddle недоступний.
Дуже сподобався б

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.