我需要在传单地图中加载矢量图块层。
向量图块是有关Mapillary序列的向量图块层(请参见https://a.mapillary.com/#vector-tiles ...),图块URL模式为:
https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox
矢量图块使用Mapbox矢量图块格式。
我已经在网上搜索过,但没有找到示例:我已经看到可以使用Mapbox完成此操作,但如果可能的话,我只想使用Leaflet
我需要在传单地图中加载矢量图块层。
向量图块是有关Mapillary序列的向量图块层(请参见https://a.mapillary.com/#vector-tiles ...),图块URL模式为:
https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox
矢量图块使用Mapbox矢量图块格式。
我已经在网上搜索过,但没有找到示例:我已经看到可以使用Mapbox完成此操作,但如果可能的话,我只想使用Leaflet
Answers:
在Leaflet 0.7x中,可以通过Leaflet.MapboxVectorTile
plugin轻松实现。您只需要在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/
对于Leaflet 1.0x,您将需要使用Leaflet.VectorGrid的L.vectorGrid.protobuf
方法。它具有文档中介绍的许多样式选项,但是对于仅加载图块,您可以像这样使用它:
var url = 'https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox';
var mapillaryLayer = L.vectorGrid.protobuf(url).addTo(map);
小提琴示例: