Я добавляю некоторое количество маркеров (может быть 5-20) к карте mapbox в цикле следующим образом:
Marker newMarker = mainMap.addMarker(new MarkerOptions()
.position(new LatLng(lat, lng))
.title(name)
.icon(icon)
.snippet("icon"));
Во время тестирования я знаю, что этот код выполняетсядля каждого маркера.
Я также добавляю onMarkerClickListener в функцию onMapReady следующим образом:
@Override
public void onMapReady(MapboxMap mapboxMap) {
this.mainMap = mapboxMap;
requestLocationPermissions();
mainMap.setOnMarkerClickListener(this);
}
Проблема, с которой я сталкиваюсь, заключается в том, что только первый добавленный маркер действительно реагирует на нажатияостальные нарисованы на карте, но ничего не делают.
Однако я заметил, что если я сверну приложение и вернусь к нему, некоторые или иногда все значки (но только иногда) стануткликабельны.Когда приложение свернуто, на консоль запуска выводится следующее:
V/FA: Recording user engagement, ms: 43419
Connecting to remote service
V/FA: Activity paused, time: 155301902
D/FA: Logging event (FE): user_engagement(_e), Bundle[{firebase_event_origin(_o)=auto, engagement_time_msec(_et)=43419, firebase_screen_class(_sc)=MainActivity, firebase_screen_id(_si)=2134823340813427911}]
V/FA: Connection attempt already in progress
D/FA: Connected to remote service
V/FA: Processing queued up service tasks: 2
Кто-нибудь знает, почему это происходит?Я предполагаю, что это как-то связано с поведением onPause / onResume и тем, что запускается при возобновлении фрагмента, содержащего карту mapbox.Как мне исправить это поведение, чтобы все маркеры всегда были кликабельными?