Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активация Google Places API for Android

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активация Google Places API for Android
  3. Создание соответствующих ключей

Выбор мест

Виджет выбора мест

Выбор мест – это простой, но в то же время универсальный в использовании встроенный виджет, входящий в состав Google Places API for Android.

Знакомство со средством выбора мест

PlacePicker открывает окно пользовательского интерфейса с интерактивной картой и списком мест поблизости, где показываются как места с соответствующими географическими координатами, так и местные организации. Пользователь может выбрать место, после чего ваше приложение позволит получить сведения о нем.

По сравнению с разработкой аналогичного собственного виджета применение средства выбора мест имеет следующие достоинства.

  1. Единообразный интерфейс, как и в других приложениях, использующих средство выбора мест, включая приложения Google и сторонние продукты. Это означает, что пользователи вашего приложения уже знакомы с интерфейсом виджета и смогут без труда воспользоваться им.
  2. Наличие карты, интегрированной в средство выбора мест.
  3. Уже встроенные специальные возможности.
  4. Значительная экономия времени на разработку приложения.

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

Разрешения

Если в вашем приложении используется средство выбора мест, вам необходимо запросить разрешение ACCESS_FINE_LOCATION.

Новая модель разрешений в Android 6.0 Marshmallow

В Android 6.0 (Marshmallow) представлена новая модель работы с разрешениями, которая оптимизирует процесс установки и обновления приложений пользователями. Если вы используете Google Play 8.1 или более поздней, вы можете настроить приложение для использования SDK Android Marshmallow и новой модели разрешений.

Если приложение поддерживает новую модель разрешений, пользователю не нужно предоставлять какие-либо разрешения при установке приложения или его обновлении. Вместо этого приложение запрашивает разрешения, когда в них возникает необходимость. В таких случаях система отображает для пользователя диалоговое окно с просьбой предоставить соответствующее разрешение.

Для получения дополнительной информации см. документацию для Android 6.0 Marshmallow; в ней также содержатся сведения о необходимых изменениях приложения для работы с новой моделью разрешений.

Добавление средства выбора мест

Ниже описаны действия, необходимые для реализации средства выбора мест.

  1. Воспользуйтесь методом PlacePicker.IntentBuilder() для создания объекта Intent.
  2. Если необходимо изменить поведение средства выбора мест, которое используется по умолчанию, можно с помощью конструктора указать исходные границы по широте и долготе для карты, отображаемой в виджете. Вызовите для конструктора метод setLatLngBounds() и передайте в него объект LatLngBounds для задания исходных границ. Эти границы определяют область просмотра. По умолчанию местоположение устройства указывается по центру такой области с увеличением масштаба до уровня улицы.
  3. Вызовите метод startActivityForResult(), указав объект Intent и предварительно определенный код запроса, чтобы при получении результатов можно было определить запрос.

Ниже показан фрагмент кода для запуска средства выбора мест.

int PLACE_PICKER_REQUEST = 1;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();

startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);

Когда пользователь выбрал место, получить его можно с помощью метода PlacePicker.getPlace(). Если пользователь не выбрал место, возвращается значение "null".

Также можно получить актуальные границы области на карте. Для этого вызовите метод PlacePicker.getLatLngBounds().

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

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == PLACE_PICKER_REQUEST) {
    if (resultCode == RESULT_OK) {
        Place place = PlacePicker.getPlace(data, this);
        String toastMsg = String.format("Place: %s", place.getName());
        Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
    }
  }
}

Установка настраиваемых цветов с помощью темы Material Design

Если в приложении используются настраиваемые цвета с помощью темы Material Design, средства выбора мест наследует атрибуты темы colorPrimary и colorPrimaryDark. Таким образом достигается преемственность цветовой гаммы вашего приложения и средства выбора мест.

Указание авторства в приложении

Если в приложении отображается информация, полученная с помощью средства выбора мест, в нем также должны отображаться сведения об авторстве. Дополнительную информацию см. в документации по указанию авторства.

Оставить отзыв о...

Текущей странице
location_on
Google Places API for Android