Как добавить OnHover реквизит на deck.gl? - PullRequest
0 голосов
/ 06 января 2020

Поэтому я пытаюсь визуализировать данные, используя mapbox и deck.gl. Я хочу иметь некоторый эффект зависания, но свойство onHover не работает на пограничном слое

Источник данных гео json: https://data.cityofnewyork.us/City-Government/Borough-Boundaries/tqmj-j8zm

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])] });
});

...