iconlayer не отображается в deck.gl

#reactjs #deck.gl #react-map-gl

#reactjs #deck.gl #реагировать-карта-gl

Вопрос:

Вот документация для слоя значков https://deck.gl/docs/api-reference/layers/icon-layer

Я хочу использовать этот слой значков для отображения маркеров на карте. Я использовал это, как показано ниже. импорт

 import { IconLayer } from "@deck.gl/layers";
 

Отображение значков

 const ICON__MAPPING = {
  marker: { x: 0, y: 0, width: 128, height: 128, mask: false }
};
 

Слой значков

 const iconLayer = new IconLayer({
  id: "icon-layer",
  data: [
    {
      name: "Colma (COLM)",
      address: "365 D Street, Colma CA 94014",
      exits: 4214,
      coordinates: [76.993894, 31.781929]
    }
  ],
  pickable: true,
  // iconAtlas and iconMapping are required
  // getIcon: return a string
  iconAtlas: "https://img.icons8.com/dusk/64/000000/user-location.png",
  getIcon: (d) => d.name,
  iconMapping: ICON__MAPPING,
  sizeScale: 15,
  getPosition: (d) => d.coordinates,
  getSize: (d) => 55,
  getColor: (d) => [Math.sqrt(d.exits), 140, 0]
});
 

Я использовал все, как задокументировано. Я не провожу никаких экспериментов. Значок по-прежнему не отображается на карте.

Живая демонстрация

https://codesandbox.io/s/reverent-framework-uepze?file=/src/App.js

Ответ №1:

Имя отображения значков должно соответствовать тому, что вы делаете в getIcon, то есть: «Colma (COLM)» !== «маркер»