[英]Deck.gl: Listen for click on basemap
花一整天的時間在這上面。
我剛剛發現DeckGL
組件中的onClick
屬性會捕獲空白區域或分層區域中的每次點擊。 來自空的 DeckGL 畫布的事件對象如下所示:
{
"x": 877,
"y": 556,
"coordinate": [
106.85059802642887,
-6.138317762993974
],
"lngLat": [
106.85059802642887,
-6.138317762993974
],
"layer": null, //If the click come from layer, the layer should not null
"color": null,
"object": null,
"index": -1
}
確定點擊是否來自 DeckGL 頂部的圖層,圖層將包含與對象相關的道具。
因此,在您的情況下,您可以檢查圖層是否為空
<DeckGL
//...Other props
onClick={(event) => {
//Click comes from empty area
if(event.layer === null) {
// Set popup
}else{
// Clear Popup
}
}}
/>
const layer = new ScatterplotLayer({
...
pickable: true,
onHover: (info, event) => console.log('Hovered:', info, event),
[onClick: (info, event) => console.log('Clicked:', info, event)][1]
});
嗨,您可以在聲明您的圖層時調用 onclick,如上所示,這是來自文檔@ https://deck.gl/docs/developer-guide/interactivity 。
這是你將如何實現它https://i.stack.imgur.com/eNiKW.png
PS我很快就會回來查看這個線程所以隨時問
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.