问题描述
我正在设置一个 react-leaflet 地图,我正在按照他们网站上的设置进行操作。但是每当我编译网站时,屏幕都是空白的,并且没有错误。
App.js:
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { StyleSheet,Text,View } from 'react-native';
import { MapContainer,TileLayer,Marker,Popup } from 'react-leaflet'
import './App.css';
export default function App() {
return (
<MapContainer
center={43.38621,-79.83713}
zoom="13"
scrollWheelZoom={false}
>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
</MapContainer>
);
}
App.css
.leaflet-container {
width: 100%;
height: 100vh;
}
Index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(<App/>,document.getElementById('root'));
解决方法
您还必须为 MapContainer 提供高度,而不仅仅是包含地图的 div。
另外,正如@kboul 所说,中心坐标应该是一个数组:
<MapContainer
center={[43.38621,-79.83713]}
zoom="13"
scrollWheelZoom={false}
style={{height: "100vh"}}
>
<TileLayer
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
</MapContainer>