我试图在使用
按照这里找到的指示:https://leafletjs.com/examples/custom-icons/和这里:https://roblahoda.com/blog/leaflet-react-custom-icons/ 我添加了以下代码行:
但是新图标的渲染效果不太好: 更新1)
使用
我遇到了这个错误:
如何使“自定义图标”显示?
react-leaflet
的markers
时,使用一个自定义图标
。按照这里找到的指示:https://leafletjs.com/examples/custom-icons/和这里:https://roblahoda.com/blog/leaflet-react-custom-icons/ 我添加了以下代码行:
import Leaflet from 'leaflet'
import "leaflet/dist/leaflet.css"
import React from 'react'
import {
TileLayer,
LayersControl,
LayerGroup,
useMap,
useMapEvents,
GeoJSON,
Marker,
Popup,
} from 'react-leaflet'
export const newicon = new Leaflet.Icon({
iconUrl: ("../../..assets/marker.svg"),
iconAnchor: [5, 55],
popupAnchor: [10, -44],
iconSize: [25, 55],
})
对于Marker
,我指定了newicon
:
<Marker position={getMarkerPosition(state_name)} icon={newicon}>
(base) raphy@pc:~/Raphy-Template/src/assets$ ls -lah
total 56K
-rw-rw-r-- 1 raphy raphy 5.0K Jan 31 11:40 marker.png
但是新图标的渲染效果不太好: 更新1)
使用
require
:export const newicon = new Leaflet.Icon({
iconUrl: require("../../../assets/marker.svg"),
iconAnchor: [5, 55],
popupAnchor: [10, -44],
iconSize: [25, 55],
})
我遇到了这个错误:
模块未找到:错误:无法解析“../../../assets/marker.svg”
使用import
而不是require
,我没有收到任何错误消息,但图标仍然没有显示出来:export const newicon = new Leaflet.Icon({
// @ts-ignore
iconUrl: import("../../../assets/svg/push_pin_black_36dp.svg"),
iconAnchor: [5, 55],
popupAnchor: [10, -44],
iconSize: [25, 55],
})
(base) raphy@pc:~/Raphy-Template/dist/assets/svg$ ls -lah
-rw-rw-r-- 1 raphy raphy 390 Jan 31 19:05
push_pin_black_36dp.svg
(base) raphy@pc:~/Raphy-Template/dist/assets/svg$
其他信息:
我已经将代码放在这个CodeSandbox
仓库中:https://codesandbox.io/s/damp-tdd-i917u?file=/src/App.js
"react": "^17.0.2"
"react-leaflet": "^3.2.5"
node: v16.13.0
O.S.: Ubuntu 20.04 Desktop
如何使“自定义图标”显示?
require
时,我遇到了这个错误Module not found: Error: Can't resolve '../../../assets/marker.svg'
。我已经更新了我的帖子。我需要修改/添加一些内容才能使用require
吗?require
是唯一使其工作的方法吗?我问你这个问题,因为在Electron
应用程序的renderer
进程中,我无法使用它。 - Raphael10import
,但这在这里不应该改变任何内容。 - ghybsimport
而不是require
,我没有收到任何错误信息,但图标仍然没有显示。 - Raphael10CodeSandbox
存储库中:https://codesandbox.io/s/damp-tdd-i917u?file=/src/App.js - Raphael10