Для использования существующего автономного пакета MapboxGL в React Native вы должны выполнить несколько шагов.
Шаг 1: Установка зависимостей
Вначале у вас должна быть установлена последняя версия React Native на вашем компьютере. Если у вас еще не установлена, вы можете установить ее с помощью следующей команды:
npm install -g react-native
Затем создайте новое React Native-приложение с помощью следующей команды:
react-native init MyApp
Перейдите в папку проекта:
cd MyApp
Затем установите необходимые зависимости с помощью следующей команды:
npm install @react-native-mapbox-gl/maps
Шаг 2: Добавление связи с MapboxGL для Android и iOS
Для Android выполните следующие шаги:
- Откройте файл android/app/build.gradle
- Добавьте следующие строки в блок dependencies
:
implementation project(':react-native-mapbox-gl')
- В файле android/settings.gradle
, добавьте следующую строку:
project(':react-native-mapbox-gl').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-mapbox-gl/maps/android')
- В файле MainApplication.java
, добавьте следующую инструкцию импорта в начале файла:
import com.mapbox.rctmgl.RCTMGLPackage;
- Добавьте поле класса RCTMGLPackage()
в метод getPackages()
:
@Override protected List<ReactPackage> getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List<ReactPackage> packages = new PackageList(this).getPackages(); packages.add(new RCTMGLPackage()); return packages; }
Для iOS выполните следующие шаги:
- В корне вашего проекта выполните команду:
cd ios && pod install
- Откройте ios/MyApp.xcworkspace
в Xcode
- В меню открывшегося проекта перейдите к General -> Embed Frameworks и добавьте Mapbox.framework
.
- В файле AppDelegate.m
добавьте следующие инструкции импорта в начале файла:
objective-c
#import <Mapbox/Mapbox.h>
#import <react-native-mapbox-gl/RCTMGL.h>
<pre>{{EJS9}}</pre>
- Проверьте, что у вас имеется
.plist (если не имеется - создайте его) и укажите в нем ваш API-ключ Mapbox в виде:
<pre>{{EJS10}}</pre>
Замените
YOUR_MAPBOX_ACCESS_TOKEN на ваш реальный API-ключ Mapbox.
Шаг 3: Использование MapboxGL в React Native
Теперь, когда вы установили и настроили MapboxGL, вы готовы использовать его в вашем React Native-приложении. Вам нужно импортировать компонент
.MapView из
@react-native-mapbox-gl/maps` и использовать его в своем коде.
import React from 'react'; import { View } from 'react-native'; import MapboxGL from '@react-native-mapbox-gl/maps'; const App = () => ( <View style={{ flex: 1 }}> <MapboxGL.MapView style={{ flex: 1 }} zoomLevel={12} centerCoordinate={[37.78825, -122.4324]} /> </View> ); export default App;
В этом примере мы создаем простую карту с заданным уровнем масштабирования и координатами центра.
Вы также можете добавить другие компоненты MapboxGL, такие как маркеры и полигоны, чтобы добавить функциональность карты в ваше приложение.
Надеюсь, эта подробная инструкция помогла вам использовать существующий автономный пакет MapboxGL в вашем React Native-приложении!