Хобрук: Ваш путь к мастерству в программировании

Добавление наложения к виду с камеры, а не к виду карты

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

В основном все они используются для рисования элементов «на карте» в определенных местах. Мне нужно какое-то наложение для реального вида камеры. Хорошим примером может быть просмотр через объектив камеры, где круг обозначает центр кадра.


Ответы:


1

Вы можете использовать RelativeLayout, который содержит MapFragment и дополнительный настраиваемый вид:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">

<fragment android:id="@+id/map"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent" android:layout_height="match_parent" />

<mypackage.MyCustomView
    android:id="@+id/mapOverlay" android:layout_width="match_parent"
    android:layout_height="match_parent" android:background="@android:color/transparent" />


</RelativeLayout>

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

Если вы хотите адаптировать форму к масштабированию, наклону и т. д., вам нужно прислушиваться к изменениям камеры и соответствующим образом адаптировать рисунок. К сожалению, CameraChangeListener вызывается только после завершения изменения. Таким образом, вы не можете сразу следить за жестом масштабирования или наклона вашего рисунка.

21.04.2014
Новые материалы

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..