Бета-версия 3.1.0 Maps SDK для Android — это новая реализация с той же поверхностью API, что и в предыдущей версии (все классы и методы остались прежними), и некоторыми новыми функциями, которые вы можете попробовать:
- Настройка карт
- Обработка столкновений маркеров
- Настройка полилинии
В этом руководстве показано, как использовать новые функции.
Настройка карт (бета)
Облачные стили карт предоставляют множество инструментов и функций, которые упрощают настройку стилей карт и управление ими. Вместо того чтобы стилизовать карту в коде с помощью Maps API и SDK, вы можете управлять своими картами и стилизовать их в Google Cloud Console. Дополнительные сведения см. в разделе Обзор настройки карты Android .
Обработка столкновений маркеров (бета)
Вы можете указать, должны ли пользовательские маркеры переопределять метки базовой карты по умолчанию при возникновении коллизии, а также указать относительный приоритет между пользовательскими маркерами. Дополнительные сведения см. в разделе Обработка столкновений маркеров (Android) .
Настройка полилинии (бета)
Теперь есть несколько новых способов настройки внешнего вида полилиний:
- Разноцветные полилинии задают сегментам полилиний разные цвета.
- Градиентные полилинии окрашивают полилинию, используя градиент двух цветов.
- Штампованные полилинии стилизуют полилинию, используя повторяющиеся растровые изображения.
Создание многоцветной полилинии
Вы можете использовать диапазоны для индивидуального окрашивания сегментов полилинии, создавая объекты StyleSpan
и добавляя их в PolylineOptions
с помощью addSpan()
или addSpans()
. По умолчанию каждый элемент массива задает цвет соответствующего сегмента линии. В следующем примере показано задание цветов сегментов для создания полилинии с красными и зелеными сегментами:
Джава
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(Color.RED)) .addSpan(new StyleSpan(Color.GREEN)));
Котлин
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(StyleSpan(Color.RED)) .addSpan(StyleSpan(Color.GREEN)) )
Создание полилинии градиента
Вы можете определить градиент, указав два 32-битных целых числа альфа-красный-зеленый-синий (ARGB), чтобы указать начальный и конечный цвета штриха. Установите это свойство в объекте параметров фигуры, вызвав PolylineOptions.addSpan()
. В следующем примере показано создание полилинии с градиентом от красного к желтому от зоопарка Вудленд-Парк до Киркленда, штат Вашингтон.
Джава
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));
Котлин
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan( StyleSpan( StrokeStyle.gradientBuilder( Color.RED, Color.YELLOW ).build() ) ) )
Создание штампованной полилинии
Вы можете настроить внешний вид полилинии на повторяющуюся растровую текстуру. Для этого создайте StampStyle
из TextureStyle
, затем установите это свойство в объекте параметров фигуры, вызвав PolylineOptions.addSpan()
, как показано здесь:
Джава
StampStyle stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build(); StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()); map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(span));
Котлин
val stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build() val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()) map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(span) )
Импортировать бета-совместимую служебную библиотеку
Если вы используете служебную библиотеку Google Maps Android API , вам также потребуется обновить зависимости вашего проекта, чтобы заменить существующую версию бета-совместимой версией, выполнив следующие действия:
- Импортируйте бета-совместимую библиотеку утилит в файл
build.gradle
:implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
. - Удалите следующее из вашего
build.gradle
, чтобы удалить несовместимую с бета-версией служебную библиотеку:implementation 'com.google.maps.android:android-maps-utils:1.3.1'
Запустите образцы
Репозиторий Google Samples на GitHub включает примеры приложений, демонстрирующие использование пакета SDK Beta Maps v3.1.0 для Android.
- Образцы Maps SDK для Android
- Образцы Places SDK для Android (только для использования с бета-версией Карт v3.1.0)
Бета-версия 3.1.0 Maps SDK для Android — это новая реализация с той же поверхностью API, что и в предыдущей версии (все классы и методы остались прежними), и некоторыми новыми функциями, которые вы можете попробовать:
- Настройка карт
- Обработка столкновений маркеров
- Настройка полилинии
В этом руководстве показано, как использовать новые функции.
Настройка карт (бета)
Облачные стили карт предоставляют множество инструментов и функций, которые упрощают настройку стилей карт и управление ими. Вместо того чтобы стилизовать карту в коде с помощью Maps API и SDK, вы можете управлять своими картами и стилизовать их в Google Cloud Console. Дополнительные сведения см. в разделе Обзор настройки карты Android .
Обработка столкновений маркеров (бета)
Вы можете указать, должны ли пользовательские маркеры переопределять метки базовой карты по умолчанию при возникновении коллизии, а также указать относительный приоритет между пользовательскими маркерами. Дополнительные сведения см. в разделе Обработка столкновений маркеров (Android) .
Настройка полилинии (бета)
Теперь есть несколько новых способов настройки внешнего вида полилиний:
- Разноцветные полилинии задают сегментам полилиний разные цвета.
- Градиентные полилинии окрашивают полилинию, используя градиент двух цветов.
- Штампованные полилинии стилизуют полилинию, используя повторяющиеся растровые изображения.
Создание многоцветной полилинии
Вы можете использовать диапазоны для индивидуального окрашивания сегментов полилинии, создавая объекты StyleSpan
и добавляя их в PolylineOptions
с помощью addSpan()
или addSpans()
. По умолчанию каждый элемент массива задает цвет соответствующего сегмента линии. В следующем примере показано задание цветов сегментов для создания полилинии с красными и зелеными сегментами:
Джава
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(Color.RED)) .addSpan(new StyleSpan(Color.GREEN)));
Котлин
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(StyleSpan(Color.RED)) .addSpan(StyleSpan(Color.GREEN)) )
Создание полилинии градиента
Вы можете определить градиент, указав два 32-битных целых числа альфа-красный-зеленый-синий (ARGB), чтобы указать начальный и конечный цвета штриха. Установите это свойство в объекте параметров фигуры, вызвав PolylineOptions.addSpan()
. В следующем примере показано создание полилинии с градиентом от красного к желтому от зоопарка Вудленд-Парк до Киркленда, штат Вашингтон.
Джава
Polyline line = map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));
Котлин
val line = map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan( StyleSpan( StrokeStyle.gradientBuilder( Color.RED, Color.YELLOW ).build() ) ) )
Создание штампованной полилинии
Вы можете настроить внешний вид полилинии на повторяющуюся растровую текстуру. Для этого создайте StampStyle
из TextureStyle
, затем установите это свойство в объекте параметров фигуры, вызвав PolylineOptions.addSpan()
, как показано здесь:
Джава
StampStyle stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build(); StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()); map.addPolyline(new PolylineOptions() .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693)) .addSpan(span));
Котлин
val stampStyle = TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build() val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build()) map.addPolyline( PolylineOptions() .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693)) .addSpan(span) )
Импортировать бета-совместимую служебную библиотеку
Если вы используете служебную библиотеку Google Maps Android API , вам также потребуется обновить зависимости вашего проекта, чтобы заменить существующую версию бета-совместимой версией, выполнив следующие действия:
- Импортируйте бета-совместимую библиотеку утилит в файл
build.gradle
:implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
. - Удалите следующее из вашего
build.gradle
, чтобы удалить несовместимую с бета-версией служебную библиотеку:implementation 'com.google.maps.android:android-maps-utils:1.3.1'
Запустите образцы
Репозиторий Google Samples на GitHub включает примеры приложений, демонстрирующие использование пакета SDK Beta Maps v3.1.0 для Android.
- Образцы Maps SDK для Android
- Образцы Places SDK для Android (только для использования с бета-версией Карт v3.1.0)