#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)» !== «маркер»