Я сделал нечто подобное с картами Google. Я в основном делал это со всеми jQuery, за исключением некоторых областей, где мне нужен был JavaScript.
Вот описание очень высокого уровня. У меня были маркеры, классифицированные по тому, что мы будем называть регионами, и когда пользователь нажимал на число, соответствующее этому региону, все маркеры, которые принадлежат этому региону, затем наносились на карту.
При загрузке карты я нажимал на свой файл маркеров JSON (я кешировал информацию о маркерах, которая находится в таблице БД) и сохранял их по регионам в массиве объектов. Я использовал уникальные идентификаторы, чтобы иметь возможность указать, какие маркеры наносить на график. Если вы используете флажки или переключатели, вы можете использовать атрибут значения,
Он был многомерным, поэтому выглядел так:
markers_obj[region][marker]
Если пользователь снова щелкнет по этому региону, маркеры будут удалены с карты.
Что мне больше всего помогло, так это то, как другие люди выполняли задачи, аналогичные тем, которые я пытался выполнить. Существует множество информации для взаимодействия с картами Google. К сожалению, у меня нет опыта работы с картами Bing.
Вот несколько ссылок на API карт Google, примеры кода, которые они предоставляют, и демонстрации.
Дайте мне знать, если у вас есть какие-либо вопросы о том, что я описал, это может быть немного расплывчатым.