Если вам их только отобразить с разной раскраской, то тут больше подойдут векторные тайлы. Хотя яндекс.карта.сдк их не поддерживает и придётся выбирать из других фреймоврков для отображения карт.
Многие знают что самый быстрый вариант SqrMagnitude.
Быстрый он не из-за оптимизаций, а потому что не извлекает корень. Когда ты можешь сравнить два квадрата магнитуды, нет смыла из обоих извлекать корень.
Ну да - это куча весов которые можно перечислить в патенте. Но достаточно их все чуток подкрутить и уже никакого сходства, а результат может оказаться даже лучше.
Разбейте себе задачу на несколько. Сначала научитесь работать с автоподсказками в поле ввода. Затем с геокодированием введённого текста. Ну и на конец с построением маршрута по координатам геокодирования.