Рубрики
Без рубрики

Как мы интегрируем карты MapBox в вашей сети, на родном мобильном приложении или проекте

Интегрировать карты MapBox в вашей сети, на родном мобильном приложении или проекте

Автор оригинала: Osledy Bazó.

Если вам нужна ваша сеть, приложение для Android или приложение iOS, интегрированное с картой, сервисами Geo-location, расширяемые, пользовательские карты, поиск местоположения существует множество решений. Для со стороны разработчиков есть решения, такие как Google Maps, Mapbox, открытые карты улиц и многое другое. Это часть Alameda dev Исследования

В alameda dev. Наш предпочтительный выбор – mapboxgl. MABOXGL предоставляет SDK для реагирования на родных, но и для веб-приложений, как и Google Maps. Вы можете просмотреть нашу статью о интеграции Google Maps в React Nountain здесь

В этой статье я собираюсь объяснить, как мы интегрируем Mapbox GL в вашем реагированном нативном проекте.

Мы разрабатываем пользовательские приложения Bike Lane для города Барселона, BCNBYBIKE. Клиент нуждался в нативном приложении, которое может показать карту города Барселоны, в этой карте нам нужно отобразить велосипедные дорожки общественного города. И переулники приходят от общественных открытых данных Барселона Городской информации в формате JSON.

Чем проще добавить MapBox SDK в ваш проект, следующий за шагами в Github Repository , но мы нашли руководство установить лучший вариант.

   npm install @mapbox/react-native-mapbox-gl --save

Инструкции для iOS.

Добавить нативный Mapbox SDK Framework

В проекте навигатор. Нажмите «Общие вкладки», затем добавьте Node_Modules/@mapbox/react-native-mapbox-gl/ios/mapbox.framework на встроенные двоичные файлы.

Добавить реагировать нативные файлы Mapbox SDK

В навигаторе проекта XCode щелкните правой кнопкой мыши папку библиотек ➜ Добавить файлы в <…>. Добавлять

   node_modules/@mapbox/react-native-mapbox-gl/ios/RCTMGL.xcodeproj

Затем в XCode навигация по сборке фаз, нажмите на него, и вы должны увидеть бинарную ссылку с библиотеками, нам нужно добавить librctmgl.a

Добавить пути поиска в заголовке Framework

В настройках сборки вашего приложения целевой поиск Framework_Search_Paths.

Добавьте нерекурсивные пути поиска в рамках

   $(PROJECT_DIR)/../node_modules/@mapbox/react-native-mapbox-gl/ios

Добавить сценарий запуска

На вкладке «Фазы сборки» нажмите «Знак плюс», а затем «Новый запуск»

Добавить компонент MapBox для реагирования на новое приложение

Во-первых, вы импортируете компоненты, которые вам понадобится. Это включает в себя компоненты из реагирования, реагируют на родных и карпы. Для отображения карты вам понадобится Токен доступа Mapbox Отказ MapBox использует токены доступа для ассоциирования запросов на ресурсы API с вашей учетной записью. Как только у вас импортировано Mapbox, вы должны установить токен доступа к ящике MapBox, используя mapbox.setaccessToken ().

Добавьте импорт для компонента и настройте токен доступа

   import Mapbox from '@mapbox/react-native-mapbox-gl';
   Mapbox.setAccessToken('');

Затем добавьте код, чтобы включить компонент в элементе просмотра, помните, что вид контейнера должен иметь стиль Flex: 1 для него, чтобы покрыть полный экран

Инструкции для Android

Нам нужно добавить некоторые репозитории, чтобы получить наши зависимости.

В проекте: build.gradle

В приложении: build.gradle. Добавить проект под зависимостями

В Settings.gradle включают в себя проект, поэтому Грейл знает, где найти проект

   include ':mapbox-react-native-mapbox-gl'
   project(':mapbox-react-native-mapbox-gl').projectDir = new File(rootProject.projectDir, '../node_modules/@mapbox/react-native-mapbox-gl/android/rctmgl')

В MainaPlaplication.java добавить импорт com.mapbox.rctmgl.rctmglpackage; В качестве оператора импорта и нового RCTMGLPackage () в GetPackages ()

Возможные ошибки

Если вы получите ошибку:)

  compile (project(':mapbox-react-native-mapbox-gl')) {
    compile ('com.squareup.okhttp3:okhttp:3.6.0') {
      force = true
    }
  }

Приложение Android будет выглядеть так

Показывая велосипедные полосы на карте

Импортируйте данные вашей линии в переменную

  import biciLanes from 'carril_bici.js'

Добавить компоненты Shapsource и Linelayer Mapbox

  
    
  

Полный код похож на это:

Вид на карту после этого, как это:

Нужна помощь в проекте? Я открыт для внештатных рабочих мест. http://alamedadev.com.