Делал что-то подобное с использованием яндекс карт, в документации все подробно расписано с примерами. читайте - делайте.
Есть встроенные механизмы для поиска и фильтра.
ListBox + ListBoxItem для категорий, ObjectManager для объектов + фильтрации и т.д., в общем читайте документацию и найдите тот вариант, который подходит вам, там есть несколько вариантов вывода данных.
Ну и вопрос, на сколько трудно такое сделать? - с нуля я справился за неделю(не только добавление и фильтрацию делал, но еще и другие фишки), т.е. от изучения до конечного результата ушло примерно столько.