javascript - 向 React Leaflet map 添加标题

标签 javascript css reactjs leaflet react-leaflet

我有一个相对简单的问题,尝试向传单 map 添加标题,类似于下图。

enter image description here

我看过类似 R: Add title to Leaflet map 的帖子,但一直没能找到react的例子。

我的代码如下所示

import L from 'leaflet';
import {Map, TileLayer, Marker, Popup} from 'react-leaflet';

class App extends Component {
  render(){
     return (
        <div>
        <Map className="splitViewMap" style={{'fillColor': 'yellow'}}>
         <TileLayer
           attribution='&amp;copy <a href="http://osm.org/copyright">OpenStreetMap</a> 
           contributors'
           url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
         />
       </Map>
       </div>
    );
  }
}
export default App;

最佳答案

您可以将 position:absolute 设置为“ map 标题”并执行以下操作:

class App extends Component {
  render() {
    return (
      <div
        style={{
          position: "relative",
          display: "flex",
          justifyContent: "center"
        }}
      >
        <Map className="splitViewMap" style={{ fillColor: "yellow" }}>
          <TileLayer
            attribution='&amp;copy <a href="http://osm.org/copyright">OpenStreetMap</a>
           contributors'
            url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
          />
        </Map>
        <h1
          style={{
            position: "absolute",
            backgroundColor: "white",
            bottom: "20px",
            zIndex: "99"
          }}
        >
          Map Title
        </h1>
      </div>
    );
  }
}

实例:

function App() {
  return (
    <div className="app">
      <div className="map" />
      <h1 className="map-title">Map Title</h1>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
.app {
  position: relative;
  display: flex;
  justify-content: center;
}
.map {
  height: 200px;
  width: 100%;
  background: rgb(209, 209, 209);
}

.map-title {
  position: absolute;
  background: white;
  bottom: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.2/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.2/umd/react-dom.production.min.js"></script>
<div id="root"></div>

关于javascript - 向 React Leaflet map 添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69152042/

相关文章:

javascript - 如何使用 javascript 复制此 css 媒体 jquery 以支持 IE

javascript - 向下滚动到页面底部 imacros/javascript 时遇到问题

javascript - 在jstree中选择节点时添加加载指示器

html - 具有自定义 css 的输入类型范围 - 拇指在 IE 中显示不正确

html - 在表格行中对齐图像和文本

javascript - GraphQL Mutation 如何将自身与 Type 关联起来

javascript - 选择器在组件渲染之前执行

javascript - foreach js 重新格式化数据

javascript - 需要循环遍历特定 json 数据格式的帮助

javascript - 通过 Express 路由向 React 传递参数