簡體   English   中英

Mapbox GL - 如何在懸停時更改 geojson 線的寬度?

[英]Mapbox GL - how to change the width of geojson line on hover?

我有一個 mapbox 地圖,我在其中添加了各種 geojson 線。 我像這樣添加它們

map.addSource('diklodartlo', diklodartlo);
        map.addLayer({
            'id': 'diklodartlo',
            'type': 'line',
            'source': 'diklodartlo',
            'layout': {
                'line-cap': 'round',
                'line-join': 'round'
            },
            'paint': {
                'line-opacity': 0.75,
                'line-color': '#747474',
                'line-width': 2
            }
        });

每條線還有一個相應的標記,懸停時會顯示彈出窗口,其中包含有關路徑的附加信息。 現在我還想“突出顯示”相應的線- 增加其“線寬”,以便用戶知道選擇了哪條線。 我的想法是從標記中獲取 id 屬性,將其與行的 id 屬性配對,然后更改行“線寬”。 但說起來容易做起來難——我知道如何獲取所選標記的屬性,但不知道如何在運行時訪問圖層並更改線條的寬度。 有人可以建議我怎么做嗎?

非常感謝...

所以這畢竟很簡單,mapbox 有一個屬性。

https://docs.mapbox.com/mapbox-gl-js/api/#map#setpaintproperty

看起來像這樣:

map.setPaintProperty(//hovered trail//, 'line-width', //desired width//);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM