不明なベクター タイル サービスを追加するときに、ソースのメタ情報を取得してレイヤーの ID とレイヤーのタイプを一覧表示できる機能を用意できますか? これらは、ベクター サービスを正しい方法でスタイル設定するのに役立ち、さまざまなレイヤー (点 - 円、多角形 - 塗りつぶし、線 - 線) の既定のスタイルを作成できると思います。
質問する
404 次
2 に答える
2
を呼び出しmap.getStyle().layers
て、現在のスタイルで定義されているレイヤーを見つけることができます。
各レイヤーのid
とを取得する方法は次のとおりです。type
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/light-v9',
zoom: 13,
center: [-122.447303, 37.753574]
});
map.on('load', function () {
var layersMeta = map.getStyle().layers
.map(function(layer) {
return [layer.id, layer.type];
});
console.log(layersMeta);
});
そして、これが対応する jsfiddleです。コンソールを見てください。
于 2016-06-17T10:16:39.927 に答える
1
残念ながら、ベクター タイル ソース内のすべてのレイヤーを一覧表示する標準的な方法はありません。Mapbox ソースはvector_layers
TileJSON でオブジェクトを提供しますが、この機能は標準ではないため、GL JS API 内では使用できません。
于 2016-06-17T18:46:08.810 に答える