【发布时间】:2021-04-15 01:35:11
【问题描述】:
我对前端开发比较陌生,在寻找合适的文档来帮助我使用此功能时遇到了问题。 我一直在尝试使用 react-leaflet 和 React Hooks 在缩放到某个级别时显示一些标记。
这是我的地图代码:
import React, { useEffect } from 'react';
import { MapContainer, TileLayer, LayerGroup, Marker } from 'react-leaflet';
import TanitMarker from './marker';
import ZoomControlledLayer from './zoom-controlled-layer';
import CustomPopup from './popup';
import './my-map.scss';
function MyMap() {
const hotel = {
thumbnail: {
src: "./hotel.jpg"
},
name: "",
title: "****",
}
useEffect(() => {
console.log('Map is mounted!');
}, []);
return (
<div className="map-container">
<MapContainer center={[35.741728, 10.626254]} zoom={8} scrollWheelZoom={true}>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<ZoomControlledLayer zoomRef={7}>
<LayerGroup>
<Marker position={[36.4242, 10.6749]}
riseOnHover={true}>
<CustomPopup site={hotel}></CustomPopup>
</Marker>
</LayerGroup>
</ZoomControlledLayer>
</MapContainer>
</div>
)
}
export default MyMap;
我正在尝试使 ZoomControlledLayer 下的 LayerGroup 在达到缩放级别 7 时出现。
提前谢谢你。
【问题讨论】:
-
欢迎来到 SO!您的自定义文件 ZoomControlledLayer 中有什么?缺少一些细节时很难提供帮助。
-
抱歉没有解释,实际上 ZoomControlledLayer 充当了一个包装器,我想让它的内容出现在 Zoom 上。现在什么都没有,因为我尝试了一些东西,但没有任何效果。
标签: reactjs leaflet react-hooks react-leaflet