使用Mapzen瓷砖传单

问题描述:

我的单张及Mapzen单证的读数表明,为了使用单张定制瓷砖供应商,需要做的只是两件事:使用Mapzen瓷砖传单

  1. 指定瓷砖提供商L.tilelayer(urlTemplateToTileProvider)
  2. 设置此提供商MapZen
var urlTemplateToTileProvider = 
    'http://tile.mapzen.com/mapzen/vector/v1/all/{z}/{x}/{y}.mvt?api_key=apiKey' 

然而,当我尝试THI我最终得到一张空白地图,然后继续正确显示标记等。然后对生成的图块URL进行手动测试,例如

http://tile.mapzen.com/mapzen/vector/v1/all/14/8471/5583.mvt?api_key=apiKey

事实上已经下载一些 - 不知所云,我 - 数据。

我也尝试过使用Mapzen文档中提到的其他两种格式(.json.geojson),但结果完全相同。考虑到后两种格式会返回人类可读的数据,我在浏览器中检查了我的测试图块,并且数据确实用于我想要使用的区域。奇怪的是,Leaflet文档和教程要求一个PNG瓦片层(http://{s}.tile.osm.org/{z}/{x}/{y}.png),而不是原始数据。

很明显,我在这里做错了事。我非常感谢能够帮助的人。

Tile Layer用于栅格拼贴(即普通图像,例如PNG格式)。

Mapzen递送载体瓷砖。要将其与Leaflet一起使用,可以使用插件,例如Leaflet.VectorGridlicense

显示网格的向量数据(切片以GeoJSON或protobuf的矢量块)在单张1.0.0

demo,其中包括从Mapzen

var mapzenTilesUrl = "https://tile.mapzen.com/mapzen/vector/v1/all/{z}/{x}/{y}.mvt?api_key={apikey}"; 
var mapzenVectorTileOptions = { 
    rendererFactory: L.canvas.tile, 
    attribution: '<a href="https://mapzen.com/">&copy; MapZen</a>, <a href="http://www.openstreetmap.org/copyright">&copy; OpenStreetMap</a> contributors', 
    vectorTileLayerStyles: vectorTileStyling, 
    apikey: 'KEY', 
}; 
var mapzenTilesPbfLayer = L.vectorGrid.protobuf(mapzenTilesUrl, mapzenVectorTileOptions); 

瓦片由于你在矢量图中有原始数据,你需要提供样式规格(vectorTileStyling