Mapbox GLで非常に近いサークルを表示しようとしています。私はサークルをサイズ(半径)に応じて重なり合うようにしたいと思います。大きい方から小さい方へ、すべてが地図上に表示されます。それを行う方法はありますか?
私が直面している問題を説明するための簡単な例を作成しました。最大の半径を持つ円が他の半径の上にあることがわかります。Mapbox GLは半径でサークルを重複してソートします
var data = {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
"value": 2
},
"geometry": {
"type": "Point",
"coordinates": [-31.640625,
31.952162238024975
]
}
}, {
"type": "Feature",
"properties": {
"value": 5
},
"geometry": {
"type": "Point",
"coordinates": [-31.640625,
31.952162238024975
]
}
}, {
"type": "Feature",
"properties": {
"value": 10
},
"geometry": {
"type": "Point",
"coordinates": [-31.640625,
31.952162238024975
]
}
}]
};
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/dark-v9',
center: [-30, 33],
zoom: 3
});
map.on("load", function() {
map.addSource('point', {
"type": "geojson",
"data": data
});
map.addLayer({
"id": "point",
"source": "point",
"type": "circle",
"paint": {
"circle-color": "#FFFF00",
"circle-stroke-width": 1,
"circle-stroke-color": "#000",
"circle-radius": {
property: 'value',
stops: [
[2, 10],
[10, 30],
]
}
}
});
})
JSFiddleでの完全な例:
https://jsfiddle.net/zorgdevalmont/5ch1aj52/3/
感謝します。