Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to show/hide Markers in Android Google maps api v2?

I would like (in my Android app using Google maps api v2) to hide or show markers on my GoogleMap object according to a category, just like in the google maps web api, for example:

I have a GoogleMap with 50 Markers, 20 of them represent restaurants, 20 them represent bus stops, and 10 are cinemas.

Is it possible on Android google maps api v2 to do filtering on these markers, by hiding all the restaurant markers if we un-tick a checkbox for example?

I would like to do something like that but on my Android device using google maps api v2: http://www.geocodezip.com/v3_MW_example_categories.html

Sorry for the basic question but I am a beginner.

like image 918
Rami Avatar asked Jan 24 '13 18:01

Rami


2 Answers

Try this way.

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

On Click Event

  restuarantMarkers.setVisible(false);

This way can do using loop..

Let me know if it works for you.

like image 190
moDev Avatar answered Oct 16 '22 03:10

moDev


You can use dialog if you want to filter your locations.

final Dialog dialog = new Dialog(context);
        dialog.setContentView(R.layout.dialog);
        Button bt_ok = (Button) dialog.findViewById(R.id.button1);
        final CheckBox cb1 = (CheckBox) dialog.findViewById(R.id.checkBox1);
        final CheckBox cb2 = (CheckBox) dialog.findViewById(R.id.checkBox2);
        dialog.setTitle("Category");

        bt_ok.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                mMap.clear();
                if (cb1.isChecked()){
                    mMap.addMarker(new MarkerOptions().position(new LatLng(44.109798, 15.242270)).title("Pin").icon(BitmapDescriptorFactory.fromResource(R.drawable.museum)));
                }
                if (cb2.isChecked()){
                    mMap.addMarker(new MarkerOptions().position(new LatLng(44.209798, 15.392270)).title("Pin 2").icon(BitmapDescriptorFactory.fromResource(R.drawable.restaurants)));
                }
                dialog.dismiss();
            }

        });

        dialog.show();
like image 42
Kristijan Drača Avatar answered Oct 16 '22 01:10

Kristijan Drača