以下是图标层的文档https://deck.gl/docs/api-reference/layers/icon-layer
我想使用IconLayer在地图上显示标记。我在下面这样使用这个。导入
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
图标映射名称必须与您在getIcon中所做的匹配,即:"Colma(COLM("!=="标记";