gpt4 book ai didi

Leaflet.draw 风格在 react 组件中困惑

转载 作者:行者123 更新时间:2023-12-02 14:58:42 26 4
gpt4 key购买 nike

在我的react项目中,我使用传单作为 map 库。而且我没有使用 react-leaflet 包,而是使用原始的 leaflet 库。

现在我想添加 leaflet-draw 插件,我已经安装了 leaflet-draw npm 包,我的设置如下:

import 'leaflet-draw'
import './leaflet-draw.less'

class GLMap extends Component {
componentDidMount () {
...
this.setUpLeafletDraw()
this.map.on('draw:created', this.leafletDrawHandler)
}

leafletDrawHandler = (e) => {
console.log('11111', e.layer._latlngs)
const type = e.layerType
const layer = e.layer

if (type === 'marker') {
layer.bindPopup('A popup!')
}
this.drawnItemsLayer.addLayer(layer)
}

setUpLeafletDraw = () => {
// this.drawnItems is the layer contains the drawn features
this.drawnItemsLayer = new L.FeatureGroup()
this.map.addLayer(this.drawnItemsLayer)
var drawControl = new L.Control.Draw({
edit: {
featureGroup: this.drawnItemsLayer
}
})
this.map.addControl(drawControl)
}
}

在上面的代码中,this.map是leaflet Dom实例。目前,抽传单的功能可以正常使用。

但问题是工具栏的样式困惑如下:

enter image description here

那么问题出在哪里呢?

最佳答案

很可能缺少 leaflet-draw CSS 文件,其中包含 .leaflet-draw-toolbar 的声明。

它可以从 leaflet-draw导入,如下所示:

import "leaflet-draw/dist/leaflet.draw-src.css";

或通过 CDN 中的 public/index.html 引用,如下所示:

<link rel="stylesheet" href="https://unpkg.com/leaflet-draw@latest/dist/leaflet.draw-src.css" />

这里是a demo

关于Leaflet.draw 风格在 react 组件中困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54324758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com