根据我对Leaflet和Mapzen文档的阅读,想要在Leaflet中使用自定义瓦片提供者,只需要做两件事:
- 在
L.tilelayer(urlTemplateToTileProvider)
中指定瓦片提供者 - 将此提供者设置为MapZen
var urlTemplateToTileProvider =
'http://tile.mapzen.com/mapzen/vector/v1/all/{z}/{x}/{y}.mvt?api_key=apiKey'
然而,当我尝试这样做时,最终得到的是一个空地图,但随后正确显示标记等。但是,对于生成的瓦片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
),而不是原始数据。
我在这里做错了什么?