concordo con la soluzione di fede_91. Ho sviluppato funzioni molto simili per un mio sito che, volendo dare altre informazioni oltre la posizione del bar o il ristorante, gestisce i marker sulla base di array js.
in pratica :
info da database in array js
clic su tipologia di attività commerciale -> se esistono marker sulla mappa, vengono eliminati. poi iterazione dell'array per la creazione dei marker relativi alle attività scelte
http://www.maremmaweb.com/sentieri.php