将形状文件添加为Mapbox地图上的图层

时间:2018-04-07 09:32:49

标签: javascript leaflet mapbox openstreetmap

here来自shapes file。我希望将其添加到地图上,类似于在网页上执行的操作。我不太清楚如何处理它。我想在Web上使用它,因此使用JavaScript。

有人建议我在地图上使用shapes file作为Layer。但是如何去做呢?有MapboxLeafletOSM的任何使用者请指导。

2 个答案:

答案 0 :(得分:1)

为了加载SHP文件并将其显示在Leaflet / Mapbox.js地图上,您可以使用多个Leaflet plugins来简化任务。

例如leaflet.shapefileonline demo,您可以删除压缩的SHP和DBF文件。)

您提到的数据源也提供了KML格式,可能更容易使用。

对于KML,您可以使用例如leaflet-omnivore

  

Leaflet&的通用格式解析器Mapbox.js

var map = L.mapbox.map('map', 'mapbox.streets')
    .setView([38, -102.0], 5);

omnivore.kml('a.kml').addTo(map);

Leaflet和leaflet-omnivore的实例:https://plnkr.co/edit/KVXqBScBuIrAahg4VsGi?p=preview

答案 1 :(得分:0)

我终于可以将shapes file作为tileset上传到Mapbox Studio来添加map Id

它为我提供了source-layermap.addLayer({ id: '<id>', type: 'fill', source: { type: 'vector', url: 'mapbox://<map-id>' // Mapbox tileset Map ID }, 'source-layer': '<layer-name>', // name of tilesets 'paint': { 'fill-color': '#088', 'fill-opacity': 0.8, 'fill-outline-color': '#000' } }); 名称,我可以将其添加为我的Mapbox地图上的图层,如下所示:

<item name="android:statusBarColor" tools:targetApi="lollipop">@color/your_theme_color</item>