Como posso acessar todos os marcadores no meu objeto GoogleMap (android maps v2) e defini-los (in) visíveis?

No momento, estou tentando implementar um ActionBar-Button que, no uso, define todos os meus marcadores no meu objeto GoogleMap visíveis ou invisíveis. Meu problema é que eu não sei como eu posso obter uma referência a todos os meus marcadores, uma vez que eles foram criados e são mostrados no meu mapa. Eu estou procurando uma solução onde eu stash todos os meus objetos de marcador em uma matriz, que eu possa acessar em outras partes do meu código também. esta abordagem é razoável?

aqui está o que eu estou pensando:

 private Marker[] mMarkerArray = null;
 for (int i = 0; i < MainActivity.customers.size(); i++) {

     LatLng location = new LatLng(mData.lat, mData.lng);

     Marker marker = mMap.addMarker(new MarkerOptions().position(location)
                          .title(mData.title)
                          .snippet(mData.snippet));
     mMarkerArray.add(marker);                      
   }

e defina todos os meus marcadores invisíveis dentro de outro método:

for (int i = 0;  i < mMarkerArray.length;; i++) {
    mMarkerArray[i].setVisible(false);
}

ele se recusa a adicionar os marcadores a um array Marker [] -. como posso alcançá-lo?

mMarkerArray.add (marker) não funciona

questionAnswers(3)

yourAnswerToTheQuestion