当我在本地运行时,我的传单地图中的自定义图标工作得很好gatsby develop
,但是当我尝试构建时,我收到与自定义标记图标相关的错误:
WebpackError: TypeError: leaflet_src_layer_marker__WEBPACK_IMPORTED_MODULE_4__.Icon is not a constructor
Run Code Online (Sandbox Code Playgroud)
相关进口:
import { Map, Marker, Popup, TileLayer, Tooltip, ZoomControl } from 'react-leaflet'
import { Icon } from 'leaflet/src/layer/marker'
Run Code Online (Sandbox Code Playgroud)
创建自定义图标:
// Init custom map icon
const mapIcon = MapIcon();
const markerIcon = new Icon({
iconUrl: mapIcon,
iconSize: [36, 36],
iconAnchor: [18, 18],
shadowSize: [36, 36],
shadowUrl: 'https://unpkg.com/leaflet@1.5.1/dist/images/marker-shadow.png',
shadowAnchor: [10, 18],
popupAnchor: [0, -16],
tooltipAnchor: [13, -4]
});
Run Code Online (Sandbox Code Playgroud)
JSX:
{ markerData.length > 0 ? markerData.map((node, index) => (
<Marker position={[node.coords.lat, node.coords.lng]} …
Run Code Online (Sandbox Code Playgroud)