Получение маркеров карты с помощью Google Maps v2

Я пытался отобразить информационное окно маркера вне события клика. Я знаю, что вы можете сделать это, используя

marker.showInfoWindow();

Моя проблема заключается в получении маркера в первую очередь. Я пробовал что-то с эффектом:

Marker marker;

//then later
marker = mMap.addMarker(new MarkerOptions()
             .position(new LatLng(0, 0))
             .title("Hello world"));

//then later
if (condition)
    marker.showInfoWindow();

Для меня это выглядит правильно, но когда я его реализую, окно не появляется. Когда я отлаживал, казалось, что идентификатор marker отличается от идентификатора «того же» маркера, переданного в onMarkerClick(Marker marker)

Так что либо я что-то упустил, ИЛИ есть ли лучший способ получить маркер? (Кажется, не имеет смысла отсутствие метода, подобного mMap.getMarkers() или mMap.findMarkerById())


person seaplain    schedule 06.02.2013    source источник


Ответы (1)


Неуклюже то, что у меня здесь, на самом деле работает нормально. Моя проблема заключалась в том, что у меня был код, критический для моего поколения infoWindow в моем методе onMarkerClick(), и поэтому мне нужно было вытащить его оттуда в метод, чтобы я мог вызывать его в обоих местах.

Итак, любые будущие гуглеры, мой код - это решение, которое вам нужно, хотя вы, вероятно, можете решить его без поиска в гугле.

person seaplain    schedule 06.02.2013