Mapbox:运行时样式中的GeoJson源

时间:2019-01-31 12:07:03

标签: mapbox mapbox-gl-js

Do Mapbox支持,运行时样式中GeoJson源支持。

我尝试使用具有VectorGeoJson的相同样式(带有两个Source 1. mapbox-gl-native,2。mapbox-gl-js的文件)。

它在Native SDK中按预期运行,但mapbox-gl-js似乎正在忽略源类型是否为GeoJson。

我尝试了版本 0.52

1 个答案:

答案 0 :(得分:2)

这绝对是可能的。您只需要在.addSource对象上调用map,然后使用该源生成样式层。此示例显示了添加GeoJson源的一般流程:https://docs.mapbox.com/mapbox-gl-js/example/multiple-geometries/

如果您尝试引用geojson文件,则只需指定源对象的该文件的URL via the data field。如果您要沿着那条路线走,则GeoJson文件必须位于同一域中,或可以使用CORS访问。

下面是一个快速而肮脏的代码段,用以说明我的意思:

map.on("load", function() {
    map.addSource("my-geojson-source", {
        "type": "geojson",
        "data": "path/to/data.geojson"
    });

    map.addLayer({
        "id": "styled-geojson-layer",
        "type": "circle", // this depends on your data & goals
        "source": "my-geojson-source",
        ... // add style things here
    });
});

如果遇到困难,库文档应该包含您需要的所有内容: