我认为这个问题是使用Popup或eventHandler。但是当我使用Popup时,圆被创建但没有被删除。而且我不知道如何使用eventHandlers来创建圆。这是关于这个问题的第一个代码。
<MapContainer
center={[48.864716, 2.349]}
zoom={2}
scrollWheelZoom={true}
zoomControl={false}
style={{ width: "100%", height: "100%" }}
minZoom={2}
maxZoom={5}
doubleClickZoom={false}>
<TileLayer
attribution='© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<Polygon positions={overline} />
<Marker position={[36.5, 130]} >
<Popup >Korea
<Circle center={[36.5, 130]} radius={1000000} />
</Popup>
</Marker>
</MapContainer>
Here is how it looks
包含eventHandler的代码。
<MapContainer
center={[48.864716, 2.349]}
zoom={2}
scrollWheelZoom={true}
zoomControl={false}
style={{ width: "100%", height: "100%" }}
minZoom={2}
maxZoom={5}
doubleClickZoom={false}>
<TileLayer
attribution='© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<Polygon positions={overline} />
<Marker position={[36.5, 130]} eventHandlers ={{click : (e) => drawCircle(e.latlng)}}>
<Popup >Korea</Popup>
</Marker>
</MapContainer>
How it looks with event handler
请帮帮我
我同时使用了EventHandler和popup。但是我不知道如何修复它。
2条答案
按热度按时间stszievb1#
此代码为完整代码。感谢您的关注。
dced5bon2#
这个可以
一些指针名称
drawCircle
需要更改为DrawComponent
需要to start with capital letter,并且出于性能原因需要位于主组件之外希望这对你解决问题有帮助