将Vector-tile图层添加到Leaflet地图中的MapBox解决方案是什么?

时间:2015-04-27 18:08:54

标签: vector leaflet layer mapbox tiling

背景

  • 宣传单地图
  • 矢量图块层
    • MapBox Studio生成矢量切片(协议缓冲格式)
    • MapBox.com for tile hosting
    • 使用Leaflet.MapboxVectorTile插件来解析和渲染MapBox矢量切片

问题

  • 无法获取原始要素几何体:我想获取要素几何体,因此可以缩放它,例如当用户点击它时。但是这个插件(Leaflet.MapboxVectorTile)没有明确的方法。 geom值(包括BBOX)都是相对坐标(即不是原始几何)

  • 识别功能的能力差(点击/悬停):此插件的另一个问题是其识别算法不够健壮。作者禁用了悬停识别,因为它结果非常缓慢。对于点击,我注意到有时很难选择多边形(对于某些多边形会发生并取决于您在多边形内单击的位置),您必须在某些位置单击以便插件能够识别该特征。

    < / LI>

除了以上两个问题之外,这个插件非常好。

我的问题

  • 是否有与此插件类似的对应MapBox解决方案?换句话说,要在地图上解析和渲染矢量切片图层服务,是否支持强大的特征识别和获取要素几何的能力?
  • 目前,MapBox studio中生成的切片位于.pbf中,这在高效数据传输方面非常出色。我想知道它是否支持开箱即用的JSON格式(GeoJSON或TopoJSON)?如果是这样,我可能会尝试使用MapBox.JS featureLayer来使用矢量tile json数据。
  • 我理解MapBOX GL.js是为基于矢量切片的地图设计的。我正在寻找添加矢量图块图层尽管。

感谢任何回应。谢谢!

1 个答案:

答案 0 :(得分:3)

您想要试用mapbox-gl-leaflet,这是一个将高效的Mapbox GL库集成到Leaflet中作为图层的库。

  

无法获取原始要素几何

矢量图块不包含原始要素几何图形。 Mapbox GL确实提供了一个提供GeoJSON的api,但它不会成为你的原始数据:如果是,那么地图将是缓慢而低效的,因为原始数据过于详细。