Google Maps v2 Маркер zOrdering – установить в начало

Я знаю, что в этой теме есть несколько тем, но я все же нашел достаточно хорошее решение.

Мне НЕОБХОДИМО разместить маркер поверх всех других маркеров. Как мне это сделать?

Я попытался добавить этот маркер до и после всех других маркеров, однако упорядочение, кажется, происходит от нижней (передней) до верхней (назад) на карте. Это неприемлемо, поскольку я хочу сосредоточиться на маркере, который находится перед всеми маркерами.

Я знаю, что многоугольники могут быть zOrdered, но я бы предпочел красивую графику!

Фактически вы не можете заказать Polygon над маркером!

«Порядок, в котором этот многоугольник рисуется по отношению к другим оверлеям, включая Polylines, GroundOverlays и TileOverlays, но не Markers. Наложение с большим z-индексом нарисовано поверх наложений с меньшими z-индексами. Порядок наложений с то же значение z-индекса произвольно. Значение по умолчанию равно 0. ” – https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/Polygon

У кого-нибудь есть идеи по этому поводу?

Ответ Эйдена Фрая работает, если вы действительно показываете InfoWindow. Если вы этого не сделаете, маркер не выйдет на передний план. Вот хак, чтобы он все равно вышел на фронт:

Создайте пользовательский InfoWindowAdapter, который отображает информационное окно 0dp:

public class MapWindowAdapter implements GoogleMap.InfoWindowAdapter { private Context context = null; public MapWindowAdapter(Context context) { this.context = context; } // Hack to prevent info window from displaying: use a 0dp/0dp frame @Override public View getInfoWindow(Marker marker) { View v = ((Activity) context).getLayoutInflater().inflate(R.layout.no_info_window, null); return v; } @Override public View getInfoContents(Marker marker) { return null; } } 

Вот код макета:

    

Когда вы настроите свою карту, установите адаптер и пользовательский InfoWindowAdapter и OnMarkerClickListener (используя showInfoWindow и верните true, как сообщается AIden Fry):

 mMap.setInfoWindowAdapter(new MapWindowAdapter(this)); //Call showInfoWindow to put marker on top of others. myMarker.showInfoWindow(); 

Это не красиво, но я не нашел другого способа справиться с z-индексацией без использования информационных окон.

Это было добавлено в Google Play Services 9.2 ( 27 июня 2016 г. )

Новый MarkerOptions.zIndex() устанавливает порядок стека маркера по отношению к другим маркерам на карте. Подробнее о маркерных z-индексах и о влиянии z-индекса на события click. ( Выпуск 4688 )

Хотя это не идеальное решение! Я выяснил, как показать выбранный (постукиваемый) маркер над всеми другими маркерами, потребляя событие onMarkerClick. Возrotation TRUE будет потреблять это событие, поэтому нам нужно сделать showInfoWindow и увеличить масштаб до центра

  @Override public boolean onMarkerClick(Marker marker) { //Manually open the window marker.showInfoWindow(); //Animate to center sMapFrag_v2.getMap().animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()); //Consume the method return true; } 
  • Как определить форму круга в файле-чертеже для android xml?
  • Событие триггера, когда кнопка нажата в Android
  • Как использовать View.OnTouchListener вместо onClick
  • заполняя круг постепенно снизу вверх.
  • как обрабатывать несколько classов приложений в android
  • BitmapFactory.decodeStream из памяти, несмотря на уменьшение размера выборки
  • Как создать пользовательскую кнопку формы с селектором в android?
  • Поворот растрового изображения с использованием JNI & NDK
  • Блокировка ориентации экрана
  • При выходе из системы очистите стек истории событий, не позволяя кнопке «Назад» открывать только зарегистрированные.
  • Как создать представление, которое больше экрана?
  • Interesting Posts

    Пользовательский значок видео для одного видеофайла в Windows 7 file explorer

    PCA в matlab, который выбирает верхние n компонентов

    Что такое «new.target»?

    Вызывает ли std :: list :: remove метод деструктор вызова каждого удаленного элемента?

    Есть ли Java XML API, который может анализировать документ без разрешения объектов символов?

    Какую команду я могу использовать для перезагрузки загрузчика?

    AngularJS – визуализация на стороне сервера

    Анализ производительности и сбоев плагинов Firefox

    Springboot / Angular2 – Как обрабатывать URL-адреса HTML5?

    Может ли кто-нибудь объяснить мне, как процессор находит источник прерывания в теории ОС?

    Использование float дает «вызов перегруженной функции неоднозначный» ошибка

    Как интерфейсы заменяют необходимость множественного наследования при наличии существующих classов

    Какими вещами я должен работать ежедневно, еженедельно, ежемесячно на своей машине с Windows?

    Почему кто-то использует #define для определения констант?

    Вызов метода API Win32 из Java

    Давайте будем гением компьютера.