2017-03-01 48 views
0

MapBox GLで最初のマップを作成するのは、choropleth exampleに厳密に従います。私のデータでは多角形といくつかの点があり、異なる形(線と点)と色の両方の伝説がありたいと思います。ポリゴンの色は線の色で、点の色は円であるため、色の部分がついています。この差別化を下のコードに追加する方法を知っていますか?あなたは、レイヤーのタイプを照会する必要がありますポイントとポリゴンの両方についてMapBox GL/JavaScriptで凡例を作成

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

    // the rest of the code will go in here 
    var layers = ['torpigna', 'bar']; 

    layers.forEach(function(layer) { 

    var color = map.getPaintProperty(layer, 'circle-color'); 
    var item = document.createElement('div'); 
    var key = document.createElement('span'); 
    key.className = 'legend-key'; 
    key.style.backgroundColor = color; 

    var value = document.createElement('span'); 
    value.innerHTML = layer; 
    item.appendChild(key); 
    item.appendChild(value); 
    legend.appendChild(item); 
}); 
}); 

おかげで、 ヤコポ

答えて

0

layers.forEach(function(layerId) { 

var layer = map.getLayer(layerid); 
if (layer.type === 'circle') { 
... layer.paint['circle-fill'] 
} else if (layer.type === 'fill') { 
... layer.paint['line-color'] 
} 

それはあなたがしているものとほぼ同様と同様にあなたは、このコードは役に立ちかもしれません達成しようとしている:https://github.com/City-of-Melbourne/Data3D/blob/master/src/js/mapVis.js

関連する問題