Сообщение от
Small_Bee
Навскидку - рисуешь эти же самые районы сугубо маркерами. В итоге у тебя должен получиться набор районов, и каждый район имеет коллекцию маркеров, описывающую границы этого района.
Далее программная часть.
Есть сущность "карта", которая содержит коллекцию сущностей "район", каждый из "районов" в свою очередь содержит коллекцию сущностей "маркер". У каждого маркера есть ссылка на противоположный маркер соседнего района.
Кроме этого, "карта" содержит метод Update, который при вызове будет формировать новый набор маркеров и загружать его в качестве подмиссии, а также метод, перекрашивающий маркера указанного района в указанный цвет.
Теперь подробнее о методе Update
Пробегаем по всей коллекции районов и по их коллекциям маркеров и добавляем в результирующий список только те маркера, цвет которого отличается от цвета соседнего маркера - что бы не рисовать ненужные границы между районами одинакового цвета.
Код достаточно простой - но маркера расставлять надо будет долго и нудно, От этого уже никуда не убежишь.