Получение информации о местоположении

Этот пост является частью серии, в которой я описываю свой опыт изучения React Native при создании своего первого мобильного приложения. Это также мой способ отблагодарить сообщество React Native советами и идеями, которые я записываю по ходу дела.

Для большинства мобильных приложений получение информации о местоположении — довольно распространенный сценарий. Это именно то, что мы рассмотрим в этой части серии. К счастью, набор инструментов Expo делает это чрезвычайно простым, как мы скоро увидим.

Получение разрешения пользователя

Прежде чем мы сможем запросить данные о местоположении устройства, нам нужно попросить пользователя дать нам разрешение на это. Это делается довольно просто с помощью Permissions API в Expo.

Получение местоположения

Теперь, когда мы получили разрешение, пришло время сделать запрос на местоположение. Это всего лишь еще пара строк кода. Давайте посмотрим, как это выглядит.

Небольшое примечание

Вы можете заметить, что первая проверка в componentWillMount заключается в том, чтобы определить, работаем ли мы в эмуляторе Android. Это связано с тем, что Location API не работает на эмуляторе Android — вам нужно либо использовать симулятор iPhone, либо на физическом устройстве.

Что дальше?

Location API имеет несколько весьма полезных методов, которые мы не показали в этом простом примере. Например, вы можете подписаться на обновления местоположения с устройства, когда приложение работает на переднем плане или когда оно работает в фоновом режиме. Вы также можете преобразовывать адреса в координаты геолокации или наоборот и делать другие интересные вещи.

Это все на данный момент. На этот раз довольно короткий пост, но с кучей возможностей! Представьте себе — такие услуги, как Uber или Lyft, стали жизнеспособными только тогда, когда у нас появился портативный компьютер со встроенным GPS-приемником (то есть смартфон). Далее: мы увидим, как мы можем уведомлять пользователя о событиях с помощью push-уведомлений.

Если вам понравилась эта статья, не стесняйтесь нажать кнопку хлопка 👏, чтобы помочь другим найти ее.

Обо мне

Я Алекс, инженер-программист и фанат стартапов. В настоящее время я являюсь соучредителем стартапа AgentRisk, где я являюсь вице-президентом по продукту и разработке. В прошлой жизни я был частью команды инженеров-основателей в стартапе корпоративных облачных хранилищ в Силиконовой долине, делал кучу крутых передовых проектов в Cisco Research и работал над действительно инновационной сетью центров обработки данных. архитектуры» во время учебы в магистратуре Калифорнийского университета в Сан-Франциско. Мне всегда нравится изучать новые технологии и постоянно заниматься поставками сторонних проектов.