Caricamento del layer delle tessere vettoriale nella mappa Leaflet?


9

Devo caricare un layer di tessere vettoriali in una mappa di Leaflet.

Il riquadro vettoriale è il livello del riquadro vettoriale relativo alle sequenze di Mapillary (vedere https://a.mapillary.com/#vector-tiles ...) e il pattern URL del riquadro è:

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

la tessera vettoriale usa il formato tessera vettoriale Mapbox.

Ho cercato in rete ma non ho trovato un campione: ho visto che questo poteva essere fatto usando Mapbox, ma se è possibile mi piacerebbe usare solo Leaflet

Risposte:


11

In Leaflet 0.7x, questo è reso semplice con il Leaflet.MapboxVectorTileplugin . Devi solo specificare il pattern URL urlnell'opzione di configurazione. La documentazione del plug-in descrive in dettaglio le altre opzioni di configurazione disponibili. Per aggiungere i dati di Mapillary, li useresti in questo modo:

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

Ecco un violino che mostra il risultato:

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

Per Leaflet 1.0x, vorrai utilizzare il metodo Leaflet.VectorGridL.vectorGrid.protobuf . Ha una serie di opzioni di stile descritte nei documenti, ma per il solo caricamento delle tessere, le useresti in questo modo:

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

Esempio di violino:

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


Grande!! sta funzionando. Semplice, chiaro e con esempio. Il migliore!
Cesare,

3
@nathansnider Il tuo JSFiddle non è raggiungibile. Mi piacerebbe un esempio corretto su come leggere tessere basate su vettori con volantino
LBes

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.