В настоящее время я занимаюсь созданием приложения React-Native, которое использует карту, и я хотел быстро приступить к работе, поэтому я решил использовать Apple Maps, которые не требуют дополнительной настройки и ключа API. Забегая вперед, я покажу вам, как реализовать карту в вашем приложении React-Native.
Если у вас еще нет открытого и готового к работе проекта, я бы посоветовал пройти это краткое руководство, чтобы начать свой проект. После того, как шаблон будет готов, мы установим react-native-maps и свяжем его.
npm i react-native-maps --save react-native link
Давайте создадим новый компонент с именем Map.js
Внутри Map.js мы импортируем библиотеку react-native-maps вверху. Таблица стилей и размеры, импортированные из react-native, находятся в следующей части.
import React, { Component } from 'react' import MapView from 'react-native-maps import { StyleSheet, Dimensions, View } from 'react-native
Что мы хотим сделать дальше, так это создать таблицу стилей для карты. Мы собираемся получить размеры устройства, на котором мы работаем, и передать их в таблицу стилей. Это позволит карте заполнить размеры экрана.
let {height, width} = Dimensions.get('window') const styles = StyleSheet.create({ container: { height: height, width: width, }, map: { ...StyleSheet.absoluteFillObject, },
Следующая часть - создание карты. Мы создадим View
и поместим внутри него MapView
, содержащий реквизиты для нашего style
и initialRegion
, который будет вашим начальным местоположением на карте.
export default Map extends Component{ render(){ return( <View style={styles.container}> <MapView style={styles.map} initialRegion={{ latitude: 37.78825, longitude: -122.4324, latitudeDelta: 0.0922, longitudeDelta: 0.0421, }} /> </View> ) } }
Отсюда давайте импортируем наш компонент в наш App.js
import React, { Component } from 'react'; import Map from './components/Map' export default class App extends Component { render(){ return <Map/> } }
Затем вы запустите react-native run-ios
, и это откроет симулятор для просмотра нашей недавно добавленной карты!
Для документации и дополнительной помощи, пожалуйста, просмотрите документацию для react-native и react-native-maps