Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中使用按钮在google地图上显示和隐藏标记_Android_Google Maps_Google Maps Api 3_Map_Marker - Fatal编程技术网

如何在android中使用按钮在google地图上显示和隐藏标记

如何在android中使用按钮在google地图上显示和隐藏标记,android,google-maps,google-maps-api-3,map,marker,Android,Google Maps,Google Maps Api 3,Map,Marker,我不熟悉android编码。我正试图通过操作栏中的按钮打开和关闭我在地图上显示的标记 到目前为止,我已经创建了这个方法,我不知道接下来需要做什么 在这里,基本上我创建了一个位置数组,并使用for loop将所有标记放在地图上。现在我想做的是隐藏标记,如果它们通过按钮点击可见,并显示标记,如果它们是隐藏的 public boolean showShops(){ rL = new ArrayList<LatLng>(); rl.add(new LatLng

我不熟悉android编码。我正试图通过操作栏中的按钮打开和关闭我在地图上显示的标记

到目前为止,我已经创建了这个方法,我不知道接下来需要做什么

在这里,基本上我创建了一个位置数组,并使用for loop将所有标记放在地图上。现在我想做的是隐藏标记,如果它们通过按钮点击可见,并显示标记,如果它们是隐藏的

public boolean showShops(){
        rL = new ArrayList<LatLng>();
        rl.add(new LatLng(40.433433, -1.422423));
        rl.add(new LatLng(40.433434, -1.422534));

        for(LatLng nRL : rL){ 
            mMap.addMarker(new MarkerOptions() 
            .position(nRL)
            .title("Shop")
        }

        return true;
    }
public boolean showShops(){
rL=新的ArrayList();
rl.添加(新板条(40.433433,-1.422423));
rl.添加(新板条(40.433434,-1.422534));
对于(LatLng nRL:rL){
mMap.addMarker(新标记选项()
.职位(nRL)
.名称(“店铺”)
}
返回true;
}
我已经尝试了很长一段时间,现在似乎找不到解决方案。我已经设法发现您必须设置可见(false);隐藏和设置可见(true);显示,但我不知道如何实现它。我尝试添加它,而不是。添加上述代码,但我得到了错误

有人能帮忙吗


谢谢。

如果您的地图上没有其他您不想隐藏的内容,请使用 在您的
谷歌地图
对象上删除地图的所有附加覆盖

如果该方法不适合您,则必须保留对所有标记的引用(例如在ArrayList中),并分别调用或:

守口如瓶

ArrayList<Marker> myMarkers = new ArrayList<Marker>(); 
如果要将它们全部设置为不可见,请在该列表上迭代,并对所有它们执行
setVisible(false)

 for (Marker m : myMarkers) {
   m.setVisible(false);
 }

如果要使标记不可见,也可以使用
marker.setAlpha(0)

你能给我举个例子吗,我已经搜索了很久了,到目前为止还没有结果。现在越来越恼人了。Thanks@vitalnik你发布的问题不是关于Android的。不要发布会进一步激怒原始海报的sh**。我想关闭它们的可见性,我无法找到一个wa我的意思是你必须在使用ArrayList之前初始化它(请参见编辑)。你需要知道如何使用ArrayList才能使用此解决方案(无意冒犯)。是的,你是。你现在应该可以应用此解决方案:)嗨,很抱歉再次打扰你,我无法确定在该数组列表上添加纬度和经度的位置。另外,它告诉我将for循环中的LatLng设置为一个标记。类型MarkerOptions中的方法位置(LatLng)不适用于参数(Marker)
 for (Marker m : myMarkers) {
   m.setVisible(false);
 }