Mvt矢量图块在MapboxGL上显示

我关注了 https://medium.com/@mrgrantanderson/https-medium-com-serving-vector-tiles-from-django-38c705f6

可以从geoDjango将mvt切片投放到地图框。

运行查询

   cursor.execute("SELECT ST_AsMVT(tile) FROM (SELECT osm_id,building,ST_AsMVTGeom(geom,TileBBox(%s,%s,3857)) FROM  nepal_khokanabuildings ) AS tile",[zoom,x,y])

因为我的模型项目是ESPG:3857

Vectors似乎没有加载到地图上,api请求工作正常。 我也尝试过从Geoserver提供矢量文件,也没有运气。

这是我的JS文件

var map = new mapboxgl.Map({
container: 'map',style: 'mapbox://styles/mapbox/light-v10',zoom: 12,center: [85.294688,27.634106],});
    var mapillarySource = {
      type: 'vector',tiles: [
       'http://0.0.0.0:8000/nepal/api/v1/data/nepal/{z}/{x}/{y}.mvt'
        ],minzoom: 0,maxzoom: 14
  };

map.on('load',function() {

  map.addSource('mapillary',mapillarySource);
  map.addLayer({
      'id': 'mapillary','type': 'fill','source': 'mapillary','source-layer': 'water','paint': {
                "fill-color": "#00ffff"

      }
  });
});
map.addControl(new mapboxgl.NavigationControl());
</script>
c363121143 回答:Mvt矢量图块在MapboxGL上显示

有很多问题可以表现为“我的图层不显示”。

您可以检查以下所有内容:

  • 在地图准备好之前正在创建图层吗? (等待"load"事件)
  • 是否生成了正确的切片请求?
  • 那些请求成功了吗?
  • 他们返回实际的.pbf文件吗?
  • 它们是否在正确的位置和正确的投影中包含数据?
  • 它们是否包含具有您期望名称的图层? (在这种情况下为“水”)
  • 它们是否包含您期望的类型的数据? (在这种情况下为多边形)

我对0.0.0.0主机感到好奇,但也怀疑层名称可能不正确。

如果您的切片请求成功,则可以尝试使用https://stevage.github.io/vector-inspector/进行检查,尽管该页面在HTTPS上提供的服务以及本地切片在HTTP上的提供可能会遇到问题。

,

使用关注,

"id": "postgis-tiles-layer","source-layer": "default",
本文链接:https://www.f2er.com/2725946.html

大家都在问