Упрощенный режим

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Maps SDK для Android может предоставлять растровое изображение карты, предлагая пользователю ограниченную интерактивность. Это называется карта облегченного режима .

Примеры кода

Репозиторий ApiDemos на GitHub включает примеры, демонстрирующие использование облегченного режима:

  • LiteDemoActivity — Java : основы использования карты облегченного режима в Java.
  • LiteDemoActivity - Kotlin : основы использования карты облегченного режима в Kotlin
  • LiteListDemoActivity — Java : эффективное отображение карт в ListViews с использованием облегченного режима в Java.
  • LiteListDemoActivity — Kotlin : эффективное отображение карт в ListViews с использованием облегченного режима в Kotlin

Обзор облегченного режима

Карта в упрощенном режиме — это растровое изображение карты в указанном месте и с заданным уровнем масштабирования. Упрощенный режим поддерживает все типы карт (обычные, гибридные, спутниковые, ландшафтные) и часть функций, предоставляемых полным API. Упрощенный режим полезен, когда вы хотите предоставить несколько карт в потоке или карту, которая слишком мала для поддержки значимого взаимодействия.

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

Добавление карты в облегченном режиме

В упрощенном режиме используются те же классы и интерфейсы, что и в полном API Google Maps для Android. Вы можете GoogleMap в облегченный режим следующими способами:

  • Либо как атрибут XML для MapView или MapFragment
  • Или в объекте GoogleMapOptions

Как атрибут XML для MapView или MapFragment

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:name="com.google.android.gms.maps.MapFragment"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:cameraZoom="13"
    map:mapType="normal"
    map:liteMode="true"/>

В объекте GoogleMapOptions

Ява


GoogleMapOptions options = new GoogleMapOptions()
    .liteMode(true);

      

Котлин


val options = GoogleMapOptions()
    .liteMode(true)

      

Подробнее о настройке начального состояния карты см. в руководстве к объекту карты .

Намерения запустить просмотр карты или запрос маршрутов

По умолчанию панель инструментов в правом нижнем углу карты содержит значки, обеспечивающие доступ к просмотру карты или запросу маршрутов в мобильном приложении Google Maps. Вы можете отключить панель инструментов, вызвав UiSettings.setMapToolbarEnabled(false) . Дополнительные сведения см. в документации по панели инструментов .

Также по умолчанию, когда пользователь касается карты, API запускает мобильное приложение Google Maps. Вы можете переопределить это, используя GoogleMap.setOnMapClickListener() , чтобы установить собственный прослушиватель. Вы также можете отключить события кликов на карте, вызвав setClickable() для представления, которое содержит MapView или MapFragment . Подробнее об этих двух методах см. в документации по событиям .

События жизненного цикла

При использовании API в полностью интерактивном режиме пользователи класса MapView должны переадресовывать все методы жизненного цикла активности соответствующим методам в классе MapView . Примеры методов жизненного цикла включают onCreate() , onDestroy() , onResume() и onPause() .

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

  • Вызов onCreate() обязателен, иначе карта не появится.
  • Если вы хотите показать точку «Мое местоположение» на карте облегченного режима и использовать источник местоположения по умолчанию, вам нужно будет вызвать onResume() и onPause() , поскольку источник местоположения будет обновляться только между этими вызовами. Если вы используете собственный источник местоположения, нет необходимости вызывать эти два метода.

Поддерживаемые функции API

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

Функциональность
Типы карт
Поддерживается? Да
Через GoogleMapOptions.mapType() и GoogleMap.setMapType() доступны следующие типы карт : MAP_TYPE_NORMAL , MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN , MAP_TYPE_HYBRID , MAP_TYPE_NONE
Полилинии, многоугольники, круги
Поддерживается? Да
Функциональность упрощенного режима для фигур соответствует полному API.
Проекция
Поддерживается? Да
Функциональность упрощенного режима для Projection соответствует полному API.
Мое местонахождение
Поддерживается? Да
Функциональность облегченного режима для слоя «Мое местоположение » соответствует полному API.
Заполнение карты
Поддерживается? Да
Поддержка облегченного режима для заполнения карты соответствует полному API.
Информационные окна
Поддерживается? Да
Если вы установите title() маркера, информационное окно по умолчанию появится, когда пользователь коснется маркера. Вы можете отобразить информационное окно программно, вызвав showInfoWindow() для маркера. Вы также можете создавать собственные информационные окна через интерфейс InfoWindowAdapter .
Пользовательские стили базовой карты
Поддерживается? Частично
Maps SDK для Android поддерживает настраиваемый стиль базовой карты. Упрощенный режим поддерживает только пользовательские стили на основе JSON, а не облачные стили, которые требуют идентификатора карты для отображения карты со стилем.
Маркеры
Поддерживается? Частично
Вы можете добавить маркер и реагировать на событие щелчка. Вы также можете добавить пользовательские значки маркеров. Невозможно сделать маркер перетаскиваемым. Маркеры на карте облегченного режима плоские, и их нельзя вращать.
Положение камеры, масштабирование и анимация
Поддерживается? Частично

Вы можете установить цель камеры и масштабирование, но не угол наклона или азимут. Уровень масштабирования округляется до ближайшего целого числа в облегченном режиме. Вызов GoogleMap.moveCamera() даст вам еще одно изображение карты в облегченном режиме. Дополнительные сведения о настройке камеры и управлении ею см. в разделе Изменение вида .

Вызов GoogleMap.animateCamera() не приведет к анимации движения камеры. Вид камеры мгновенно переместится в новое положение.

Карта событий
Поддерживается? Частично

Облегченный режим поддерживает GoogleMap.setOnMapClickListener() и GoogleMap.setOnMapLongClickListener() .

Чтобы отключить события кликов на карте в упрощенном режиме, вы можете вызвать setClickable() для представления, которое содержит MapView или MapFragment . Это полезно, например, при отображении карты или карт в виде списка, когда вы хотите, чтобы событие щелчка вызывало действие, не связанное с картой.

Подробности смотрите в документации по событиям .

Внутренние карты и здания
Поддерживается? Нет
В упрощенном режиме отображаются те же плитки, что и в Maps Static API . Это означает, что если план помещения вставлен в тайл по умолчанию, он появится. Иначе не будет. Кроме того, вы не можете изменить отображаемый уровень или манипулировать средством выбора уровня.
Уровень трафика
Поддерживается? Нет
GoogleMap.setTrafficEnabled() не поддерживается в упрощенном режиме.
Накладки на землю
Поддерживается? Нет
GoogleMap.addGroundOverlay() не поддерживается в упрощенном режиме.
Накладки на плитку
Поддерживается? Нет
GoogleMap.addTileOverlay() не поддерживается в упрощенном режиме.
Жесты
Поддерживается? Нет
Облегченный режим не поддерживает жесты. Включение и отключение жестов не будет иметь никакого эффекта.
Просмотр улиц
Поддерживается? Нет
Просмотр улиц не поддерживается в упрощенном режиме.