在Mapbox GL-JS中将geoJSON tileset添加为图层

在Mapbox GL-JS中将geoJSON tileset添加为图层,mapbox,mapbox-gl-js,Mapbox,Mapbox Gl Js,我想将geoJSON tileset作为图层添加到地图中。(这是天气雷达数据-当数据每隔几分钟刷新时,它将托管在我的服务器上。)我如何做到这一点并设置样式?也许这似乎是一个愚蠢的问题,但我已经找遍了很多地方,却没有找到答案。我明白了,但它没有显示如何从geoJSON生成向量tileset 所有我想做的是添加图层和样式的颜色 我能从Mapbox中找到的最接近的示例代码是: map.on('load', function() { map.addSource('mapbox-terrai

我想将geoJSON tileset作为图层添加到地图中。(这是天气雷达数据-当数据每隔几分钟刷新时,它将托管在我的服务器上。)我如何做到这一点并设置样式?也许这似乎是一个愚蠢的问题,但我已经找遍了很多地方,却没有找到答案。我明白了,但它没有显示如何从geoJSON生成向量tileset

所有我想做的是添加图层和样式的颜色

我能从Mapbox中找到的最接近的示例代码是:

   map.on('load', function() {
    map.addSource('mapbox-terrain', {
        type: 'vector',
        url: 'mapbox://mapbox.mapbox-terrain-v2'
    });
    map.addLayer({
        'id': 'terrain-data',
        'type': 'line',
        'source': 'mapbox-terrain',
        'source-layer': 'contour',
        'layout': {
            'line-join': 'round',
            'line-cap': 'round'
        },
        'paint': {
            'line-color': '#ff69b4',
            'line-width': 1
        }
    });
});
但是,无论我如何编辑它,我都不知道如何将源代码更改为geoJSON。(例如,我尝试将类型更改为geoJSON,并将URL更改为我的.JSON文件。唯一的结果是,即使使用默认样式,也不会显示任何内容

以下是我的数据的排列方式,以及我想要的样式:

   {
    "type": "Feature",
    "geometry": {      "type": "Polygon",
      "coordinates": [
        [
          [-98.04771180146541, 29.69276273017396],
          [-98.04989507423406, 29.691557294069924],
          [-98.05007422056916, 29.691808116379576],
          [-98.04787303016978, 29.69298847287841],
          [-98.04771180146541, 29.69276273017396]
        ]
      ]
     },
     "properties": {
        "sweep": 1,
        "sweepTime": "2017-02-20T04:40:19Z",
        "elevAngle": 0.519104,
        "value": 21.0, //  << this value determines color of polygon styling (0-70)
        "radialAng": 238.16986,
        "begGateRan": 2249.9092,
        "endGateRan": 2499.8992,
        "heightRel": 20.683022,
        "heightASL": 213.62143
     }
   }
{
“类型”:“功能”,
“几何体”:{“类型”:“多边形”,
“坐标”:[
[
[-98.04771180146541, 29.69276273017396],
[-98.04989507423406, 29.691557294069924],
[-98.05007422056916, 29.691808116379576],
[-98.04787303016978, 29.69298847287841],
[-98.04771180146541, 29.69276273017396]
]
]
},
“财产”:{
"扫荡":一,,
“扫描时间”:“2017-02-20T04:40:19Z”,
“Levelangle”:0.519104,
“value”:21.0,//如果您的意思是“GeoJSON源代码”而不是“GeoJSON tileset”,那么它很简单:


map.on('load', function() {
    map.addSource('mysource', {
        type: 'geojson',
        url: 'http://example.com/mycode.geojson'
    });
    map.addLayer({
        'id': 'mylayer',
        'type': 'line',
        'source': 'mysource',
    });
});

你所说的GeoJSON“tileset”到底是什么意思?Mapbox gl js只支持向量tiles.pbf格式。你是指GeoJSON源吗?据我所知,是的,是源。但我需要tileset的行为(我在下面的回答中解释了我的意思,如果有机会,请检查一下)你想加载geojson并将其转换为矢量图块吗?@Muhammadimransidique此时我已经制作了矢量图块,但由于某种原因无法使用map.addLayer和map.addSource将它们添加到地图中。最终结果总是一样的,数据不会加载。我已经解决了问题。很快会发送给你。谢谢你的回复-我就是你uoted!其中一些.json文件的大小为100 MB。在研究GeoJSON VT时,似乎应该允许它们非常平滑地加载。您在另一篇文章中提到,Mapbox现在默认使用此方法。如果我按照您在回答中描述的方法将其加载到地图中,会出现这种情况吗?我问,因为在我添加层作为“多边形”输入时速度非常慢。感谢您关注Mapbox。我想您可能会因为提到geojson-vt而感到困惑。Mapbox gl js静态加载geojson文件—整个过程一次完成。因此,加载一个海量文件需要很长时间。一旦加载,它的性能与任何其他矢量平铺源几乎相同。您应该脱机将其转换为矢量平铺以获得最佳加载性能。我想我已经这样做了(使用命令行工具生成了平铺集),但我仍然无法将其显示出来。您介意我通过您的咨询电子邮件地址向您发送电子邮件以继续此操作吗?我的合作伙伴和我正在考虑,如果我们只能开始此操作,则需要您在更大的项目上提供帮助。是的,请随意。