-1

使用符号管理器时遇到一个奇怪的问题。当我允许图标重叠时,符号管理器的单击侦听器会被多次触发。当我没有将允许图标重叠设置为 true 时,不会发生这种情况。但是我需要在地图上显示所有符号,并且每个符号都必须在单击时打开一个对话框。

这是一个已知问题还是我做错了什么?

谢谢你的帮助 !

4

1 回答 1

1
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) {

                                }
                            });
}
                    });
                }
于 2020-05-31T18:20:11.517 回答