使用 react-map-gl 和 create-react-app 时地图不显示
Map not showing up when using react-map-gl and create-react-app
我正在使用 create react 应用程序以及 react-map-gl
。我现在只需要地图显示在屏幕上,但它所做的只是显示 mapbox 徽标并在地图应该显示的位置有一个空白 space。
这是我的主要 .js 文件:
import './App.css';
import ReactMapGL from 'react-map-gl';
import React, {useState} from 'react';
function App() {
const [viewport, setViewport] = useState({
width: 400,
height: 400,
latitude: 38.958630,
longitude: -77.357002,
zoom: 10
});
return (
<div className="TextStuff">
<ReactMapGL {...viewport}
mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_TOKEN}>MAPPPPP</ReactMapGL>
</div>
);
}
export default App;
经过调查,我得出的结论是您的令牌未通过 process.env
正确传递到您的组件。我创建了一个 reproducible example,带有一个有效的令牌,它运行得很好。提供无效令牌时,我得到的结果与您相同。
所以我猜你得到的是未定义的令牌,或者类似的东西。
在此 tutorial 之后,您应该有一个 .env
文件,您可以在其中存储您的令牌,如下所示:
REACT_APP_MAPBOX_TOKEN=MYTOKEN
尝试注销您的 process.env.REACT_APP_MAPBOX_TOKEN
,看看您得到了什么。
但我怀疑您将 .env
文件放在了 src 文件夹中。但你不应该把它放在那里。相反,将它放在项目的根目录下,然后重新启动服务器。这样,您应该可以正确获取您的令牌。
我正在使用 create react 应用程序以及 react-map-gl
。我现在只需要地图显示在屏幕上,但它所做的只是显示 mapbox 徽标并在地图应该显示的位置有一个空白 space。
这是我的主要 .js 文件:
import './App.css';
import ReactMapGL from 'react-map-gl';
import React, {useState} from 'react';
function App() {
const [viewport, setViewport] = useState({
width: 400,
height: 400,
latitude: 38.958630,
longitude: -77.357002,
zoom: 10
});
return (
<div className="TextStuff">
<ReactMapGL {...viewport}
mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_TOKEN}>MAPPPPP</ReactMapGL>
</div>
);
}
export default App;
经过调查,我得出的结论是您的令牌未通过 process.env
正确传递到您的组件。我创建了一个 reproducible example,带有一个有效的令牌,它运行得很好。提供无效令牌时,我得到的结果与您相同。
所以我猜你得到的是未定义的令牌,或者类似的东西。
在此 tutorial 之后,您应该有一个 .env
文件,您可以在其中存储您的令牌,如下所示:
REACT_APP_MAPBOX_TOKEN=MYTOKEN
尝试注销您的 process.env.REACT_APP_MAPBOX_TOKEN
,看看您得到了什么。
但我怀疑您将 .env
文件放在了 src 文件夹中。但你不应该把它放在那里。相反,将它放在项目的根目录下,然后重新启动服务器。这样,您应该可以正确获取您的令牌。