如何在Android中的Google地图上隐藏和显示标记?

时间:2014-12-04 07:40:07

标签: android google-maps map tags location

我是Android编码的新手,并试图掌握它。我正在学习教程并阅读在线资料和书籍。我开始变得有点自信,因此转向更复杂的任务。

我正在使用谷歌地图,并设法在发布时在地图上显示我指定的位置。

//Making array businessNY global

public static ArrayList<LatLng> businessesNY;


//Creating a method showBNY to add given coordinates to the array and then add those arrayed coordinates on the map with given perimeter.  I call this method on my onCreate.

public static boolean showBNY(){
        businessesNY = new ArrayList<LatLng>();
        businessesNY.add(new LatLng(40.741532, -73.989293));
        businessesNY.add(new LatLng(40.684281, -73.996159));

        for(LatLng bNY : businessesNY){ 
            mMap.addMarker(new MarkerOptions() 
            .position(bNY)
            .title("New York Business")
        }

        return true;
    }

我接下来要做的是创建2或可能1隐藏这些位置的方法,或者隐藏显示它们,反之亦然。我正在阅读此内容,并确定您必须使用.setVisible(false)隐藏并.setVisible(true);来展示。我希望允许用户单击按钮以打开,同一按钮可以关闭。

我无法弄清楚我是如何实现这一点的,我已经做了很长时间了,而且令人沮丧,我真的很感激任何帮助。

有人可以帮助我。

由于

1 个答案:

答案 0 :(得分:0)

试试这个

 Marker markers = gMap.addMarker(new MarkerOptions()
                .position(latlng)
                .title("MyPlace").icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_pin)).draggable(true));

点击按钮的点击事件

切换按钮

<ToggleButton 
  android:id="@+id/togglebutton"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textOn="On"
  android:textOff="Off"
  android:onClick="onToggleClicked"/>

然后只需要在Activity Java

中定义处理程序方法
public void onToggleClicked(View view) {
    if(((ToggleButton) view).isChecked()) {
          markers.setVisible(true); 
        // handle toggle on
    } else {
        markers.setVisible(false); 
       // handle toggle off
    }    
}