首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在deck.gl上添加OnHover道具?

如何在deck.gl上添加OnHover道具?
EN

Stack Overflow用户
提问于 2020-01-06 12:09:28
回答 1查看 564关注 0票数 1

所以我尝试使用mapbox和deck.gl来可视化数据。我希望有某种悬停效果,但onHover属性不在边界层上运行

geojson数据源:https://data.cityofnewyork.us/City-Government/Borough-Boundaries/tqmj-j8zm

代码语言:javascript
复制
import boundaries from "./borough-boundaries.json";

import { Deck } from "@deck.gl/core";
import { ScatterplotLayer, GeoJsonLayer } from "@deck.gl/layers";
import { MapboxLayer } from "@deck.gl/mapbox";

var mapboxgl = require("mapbox-gl/dist/mapbox-gl.js");

let map;

const MAPBOX_ACCESS_TOKEN =
    "<mapbox-token>";

const MAPBOX_STYLE = "<mapbox-style>";

function initMap() {
    mapboxgl.accessToken = MAPBOX_ACCESS_TOKEN;
    map = new mapboxgl.Map({
        center: [-73.715638255, 40.73577180300003],
        zoom: 10,
        container: "map",
        style: MAPBOX_STYLE
    });
}
const deckLayers = () =>
    new Deck({
        gl: map.painter.context.gl,
        pickable: true,
        layers: [],
        onHover: () => {
            console.log("Test");//Working
        }
    });
const boroughLayer = color =>
    new GeoJsonLayer({
        data: boundaries,
        pickable: true,
        getFillColor: color,
        onHover: () => {
            console.log("Test 2");//Doesn't working
        }
    });

initMap();

const deck = deckLayers();
map.on("load", () => {
    map.addLayer(new MapboxLayer({ id: "mapbox-layer", deck }));
    deck.setProps({ layers: [boroughLayer([255, 255, 255, 0])] });
});
EN

回答 1

Stack Overflow用户

发布于 2021-03-16 22:08:58

尝试从hover方法传递event

代码语言:javascript
复制
onHover: (e) => {
            if (e.object) {
                console.log(e.object);
                //do something with the geometry 
            }
        },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59606572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档