首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-leaflet获取当前缩放边界

react-leaflet获取当前缩放边界
EN

Stack Overflow用户
提问于 2021-03-16 01:27:18
回答 1查看 184关注 0票数 0

我现在有这张地图

代码语言:javascript
复制
import React, { useEffect } from "react";

import "./App.css";
import { MapContainer, TileLayer, Marker } from "react-leaflet";

function App() {
  useEffect(() => {
    console.log("first run");
    
  }, []);



  return (
    <div className="App">
      <div id="mapid">
        <MapContainer

          style={{ height: "100vh", width: "100vw" }}
          center={[51.505, -0.09]}
          zoom={13}
          scrollWheelZoom={true}
        >
          <TileLayer
            attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
            url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
          />
          <Marker position={[51.505, -0.09]}></Marker>
          <Marker position={[51.490114, -0.09066]}></Marker>
        </MapContainer>
      </div>
    </div>
  );
}

export default App;

我需要找到最小纬度,最大纬度,最小经度,最大经度

但是我不知道如何使用hooks / useeffect来做这件事

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-16 02:32:41

在获取地图引用之后,当组件挂载时,您可以使用map.getBounds()获取地图边界。它包含southWest、southEast、northWest、northEast等的当前或更新的坐标。

代码语言:javascript
复制
 useEffect(() => {
    if (!map) return;
    console.log(map.getBounds());
  }, [map]);

如果您想在放大或缩小后获取新的图像,可以添加一个zoomend事件

代码语言:javascript
复制
    useEffect(() => {
        if (!map) return;
        console.log(map.getBounds());
    
        map.on("zoomend", function () {
          console.log(map.getBounds());
        });

  }, [map]);

Demo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66642734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档