将 Mapbox GL 与 React 101 一起使用

将 Mapbox GL 与 React 101 一起使用

Lombard Sokağı, San Francisco

如果我们想做一个处理地图数据的项目,Mapbox 会在这里帮助我们,而不是重新发明轮子并从头开始编写一个库。一阵子 萤火虫 当我在公司工作时,我意识到一个我非常熟悉的图书馆,不幸的是,没有很多土耳其语资源,我想把我知道的东西写在介绍性的层面上。

什么是地图盒?

地图盒 是当今大公司和应用程序(例如 Snapchat、The Weather Channel、Foursquare)首选的美国地图服务提供商。

Mapbox GL 内迪尔?

Mapbox GL , 是一个 JavaScript 库,它为我们提供了许多映射可能性,包括交互式地图、可视化地图(热图、3D 映射等)和使用 WebGL 技术的矢量地图设计。

React 和 Mapbox GL 设置

首先 创建反应应用 让我们首先使用创建一个新的 React 项目;

 npx create-react-app react-ve-mapboxgl

创建我们的项目后,让我们进入我们的项目文件夹并安装 Mapbox GL;

 cd react-ve-mapboxgl  
 npm 安装 mapbox-gl

Mapbox GL 集成

在完成我们库的安装过程之后,我们已经到了将我们的库集成到我们的 React 项目中并使用它的阶段。

首先,让我们运行我们的 React 应用程序

 npm 开始

运行我们的应用程序后,我们立即开始了我们的项目。 ** 源代码** 文件夹 在下面 ** 应用程序.js** ve ** 应用程序.css** 我们在文件中删除;

App.js ve App.css Dosyaları

在您执行删除操作后,我们 ** 应用程序.js** 我们有必要将它集成到我们的文件中。 我们的 API 密钥 让我们设置;

这个阶段需要我们的 API Key, 地图盒 我们可以通过在 的网站上注册免费获得它。

API Anahtarı Entegrasyonu

如果您愿意,您的 API 密钥 ** .env** 您还可以通过将其保存在文件中来将其用作环境变量。

创建地图框

现在我们已经完成了必要的材料,我们可以创建我们的地图。此时,我们需要一个可以放置地图的容器。

为此,我们创建了一个名为 mapContainer 的 ref 值。

_常量_ mapContainer = useRef(null);

然后我在我的应用程序中创建一个 div 对象,我可以在其中放置我的地图。创建它之后,我们抛出我们的 mapContainer ref 值以访问我们的对象。

 <div _班级名称_ ="地图容器" _参考_ ={mapContainer} />

Mapbox Container’ının Oluşturulması

接下来,我们创建地图所​​需的 ref 值,然后创建地图。在这部分,还有我们地图的一些配置(样式、缩放、中心等)值。

_常量_ 地图 = useRef(null); 使用效果(()=> { 如果(map.current)返回; _// 为了加载一次地图_ map.current = new mapboxgl.Map({ 容器:mapContainer.current, 风格:“mapbox://styles/mapbox/streets-v11”, }); });

Mapbox’ın Oluşturulması

Mapbox GL 风格化

经过这些过程,我们得到了我们想要的,但它看起来不太美观,因为我们不做任何设计过程。为此,我们将使用 Mapbox 提供给我们的设计作为标准。

首先,我们将一个 css 文件集成到我们的 App.js 文件中,用于 Mapbox 自己的水印和我们创建的容器。

 导入“mapbox-gl/dist/mapbox-gl.css”;

在那之后,我们对我们的 App.css 文件进行微小的更改,并将我们的地图在用户的屏幕上居中。

_。应用程序_ { 显示:弯曲; 高度:100vh; 对齐项目:居中; 证明内容:中心; 背景颜色:#121212; } _.map 容器_ { 宽度:50vw; 高度:50vh; 边框半径:5px; }

由于这些,我们的地图开始看起来更悦目。

Mapbox 为我们提供 标准地图视图 最后,我们通过选择我们最喜欢的一个来改变地图的样式;

 map.current = new mapboxgl.Map({ 容器:mapContainer.current, 样式:“mapbox://styles/mapbox/light-v10”, });

地图框配置

现在,我们将自定义我们已经创建的精彩地图并进行一些配置设置,以便它以集中的方式打开。

首先,我们创建3个状态值,它们将存储我们想要关注的点的坐标值和我们地图的缩放级别。

_常量_ [lng, setLng] = useState(32.836956); _常量_ [lat, setLat] = useState(39.925018); _常量_ [缩放,setZoom] = useState(14);

然后我们定义我们创建的经度、纬度和缩放值作为我们地图的中心点。我们按原样定义缩放值。

 map.current = new mapboxgl.Map({ 容器:mapContainer.current, 样式:“mapbox://styles/mapbox/light-v10”, 中心:[lng,lat], 飞涨, });

由于我们进行了这些自定义,我们的地图以独特的外观欢迎我们。

资源:

https://docs.mapbox.com/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/1492/02462916

posted @ 2022-08-29 16:05  哈哈哈来了啊啊啊  阅读(107)  评论(0编辑  收藏  举报