не очень понимаю, если честно, зачем на знакомом маршруте указывать промежуточные точки, через которые хочу проехать ? Едешь себе и едешь так, как тебе хочется

А на незнакомом маршруте врядли в голову придёт прокладывать маршрут через желаемые, но не знакомые места

Так что, задача-то всего одна - проезд через промежуточные точки, и никаких извращений тут не надо.
С другой стороны, было бы неплохо (и об этом уже писали), если бы промежуточные точки можно было проехать не в заданной последовательности, а в оптимальной. И вот тут дополнительная опция нужна.
И, собственно,
предложение (можно считать официальным

).
Задаётся набор промежуточных точек, и некоторые помечаются номерами для прохождения. И функциональность такой системы будет очевидной.
Алгоритм в этом случае прозрачен : пронумерованные точки надо проходить именно в заданной последовательности (в соответствии с номером), а остальные - в любой последовательности наиболее оптимально (по времени или расстоянию). Причём, посещение ненумерованной точки вполне может произойти между посещением двух подряд нумерованных. Главное - не нарушать порядок прохождения нумерованных точек.
В принципе, можно ввести ещё параметр типа "важно" для ненумерованных точек, куда надо бы попасть в первую очередь. И тогда алгоритм чуть-чуть усложняется. Т.е. маршрут прокладывается последовательно через нумерованные точки, остальные - наиболее оптимально (как и в предыдущем случае). Разница лишь в том, что точки, помеченные как "важные", должны всегда быть пройдены до прохождения первой не "важной" (т.е. обычной). Например, маршрут таков :
1-2-важная-3-важная-4-обычная-обычная-5-обычная
На примере видно, что все "важные" пройдены до попадания в первую обычную. Кстати, первая посещённая точка - не обязательно нумерованная. Тут важно (ещё раз повторю), чтобы маршрут был оптимальный, нумерация точек не "сбивалась", и "важные" закончились до появления "обычных". Предельно просто и максимально функционально

И тогда вообще никаких переключателей в Настройках не нужно
И можно в итоге ещё чуть-чуть усложнить задачу, введя параметр "важная" для нумерованных точек. Работает так : если после прохождения нумерованной точки следующая нумерованная точка - обычная, то маршрут может быть проложен через не нумерованную точку - как оптимальней, так и прокладывать. Если после прохождения нумерованной точки следующая - нумерованная "важная", то маршрут должен быть проложен непосредственно к ней из предыдущей нумерованной.
Надеюсь, идея понятна ?
Господа пользователи и разработчики, что скажете ?

"Вот если бы все на мине подорвались... Но об этом можно только мечтать !"
K750i + HP4700 + BT338