Окно карты Android: перекрытие значков и SymbolManager OnClickListener - PullRequest
0 голосов
/ 27 мая 2020

У меня странная проблема при использовании диспетчера символов. Когда я разрешаю перекрытие значков, прослушиватель щелчков диспетчера символов запускается несколько раз. Этого не происходит, если я не устанавливаю для параметра Разрешить перекрытие значков значение true. Но мне нужно показать все символы на карте, и каждый из них должен открывать диалоговое окно при нажатии.

Это известная проблема или я что-то делаю не так?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 31 мая 2020
I too had the same problem. I used the symbolManager.addClickListener within the forloop which triggered the click multiple times.
I resolved it by using the symbolManager.addClickListener inside onMapReady method.

public void onMapReady(@NonNull MapboxMap mapboxMap) {
                    map = mapboxMap;
                    map.setStyle(Style.MAPBOX_STREETS, new Style.OnStyleLoaded() {
                        @Override
                        public void onStyleLoaded(@NonNull Style style) {
                            symbolManager = new SymbolManager(mapView, mapboxMap, style);
//                            symbolManager.setIconAllowOverlap(true);
                            symbolManager.addClickListener(new OnSymbolClickListener() {
                                @Override
                                public void onAnnotationClick(Symbol symbol) {

                                }
                            });
}
                    });
                }
...