首页 > 解决方案 > kmllayer 删除功能在 android studio 中不起作用

问题描述

我正在尝试使用 kmlLayer.removerLayerFromMap() 从地图中删除 KML 图层,但它不起作用

当我在地图上添加 KML 图层时,我将其存储在 KMLLayer 的 ArrayList 中,并且每当用户按下移除器 kml 图层按钮时,我都会在按钮的 onClickListener 上从地图中删除所有 kmllayer

adding kmlLayer

KmlLayer kmlLayer = new KmlLayer(mMap, new ByteArrayInputStream(byteArr),
                        getContext());
if(!kmlLayer.isLayerOnMap()){
                    Log.i("LAYER","LAYER added");
                    kmlLayer.addLayerToMap();
                   downloadedKMLFiles.add(kmlLayer)
                }

Removing kml layer

  @Override
        public void onClick(View v) {
            Log.i("Remove","Remove KML");
            if(!downloadedKMLFiles.isEmpty()){
        for(int i = 0 ; i < downloadedKMLFiles.size(); i++){
            KmlLayer kmlLayer = downloadedKMLFiles.get(i);

            if(kmlLayer.isLayerOnMap()){
                if(kmlLayer.getMap() !=  null){
                    Log.i("LAYER","LAYER PRESENT");
                    kmlLayer.removeLayerFromMap();
                }
            }else {
                Log.i("LAYER","LAYER ABSent");

            }
        }
    }
        }
    });

标签: javaandroidgoogle-mapskml

解决方案


推荐阅读