4

Mapbox GL JS で行のポップアップを作成したい。次のように定義された、多くの直線を含むレイヤーがあります。

map.addLayer({id: 'lineLayer',
          type: 'line',
          source: 'lineSource',
          layout: {'line-join': 'round', 'line-cap': 'round'},
          paint: {'line-color': '#00c853','line-width': 5, 'line-opacity': 1 }});

次に、次のように行にポップアップを追加します (疑似コード):

map.on('mousemove', 'lineLayer', (e) => {
    map.getCanvas().style.cursor = 'pointer';
    popupCoordinatesXY = e.point; });

問題は、審美的な理由から、線をあまり広くしたくないのですが、マウスを正確に線に合わせるのが難しすぎることです。カーソルが約 10 ピクセル離れている場合でも、特定の行に対して mousemove イベントをトリガーするにはどうすればよいですか?

私はすでに、より広い線で余分な非表示レイヤーを作成することを考えていましたが、もっとエレガントな解決策があると想像できます.

4

1 に答える 1