Как сделать маркеры в Android Google Maps API v2 интерактивными, чтобы они либо открывали меню с параметрами, либо просто запускали новое действие? Я считаю, что в настоящее время я сделал маркеры в своем приложении методом "newb". Я не назначал им имя или метод, чтобы можно было связать его с остальной частью необходимого кода.
googleMap.addMarker(new MarkerOptions()
.position(latLng)
.title("My Spot")
.snippet("This is my spot!")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
Если вы ОТВЕТИТЕ на это, включите образец кода маркера, который вводится с уникальным именем и затем устанавливается как интерактивный для открытия нового действия.
OnInfoWindowClickListenerCallback
. В GoogleMap есть способ для этого:googleMap.setOnInfoWindowClickListener(listener);
setTag(position)
при добавлении маркера на карту.getTag()
наsetOnMarkerClickListener
слушателяисточник
Избегайте использования Activity реализует OnMarkerClickListener, используйте локальный OnMarkerClickListener
Вам понадобится карта для поиска исходной модели данных, связанной с маркером.
Вам понадобится модель данных
Поместите данные в модель данных
При создании нового маркера с использованием модели данных добавьте оба на карту производителя.
Для события маркера щелчка используйте локальный OnMarkerClickListener:
Для отображения информационного окна извлеките исходную модель данных из карты маркеров:
источник
Другое решение: вы получаете маркер по названию
источник
Вот мой полный код карты с 4-мя интерактивными маркерами. Нажатие на маркер открывает информационное окно, а после щелчка на информационном окне вы переходите к другому действию: английскому, немецкому, испанскому или итальянскому. Если вы хотите использовать OnMarkerClickListener, несмотря на OnInfoWindowClickListener, вам просто нужно поменять местами эту строку:
к этому:
эта строка:
к этому:
и в конце метода onMarkerClick:
Думаю, это может кому-то помочь;)
источник
источник
Я добавил
mMap.setOnMarkerClickListener(this);
вonMapReady(GoogleMap googleMap)
метод. Таким образом, каждый раз, когда вы щелкаете маркер, он отображает текстовое имя в методе тоста.}
Вы можете проверить эту ссылку для справочных маркеров
источник
Я отредактировал приведенный выше пример ...
источник