Цитата Сообщение от podvoxx Посмотреть сообщение
Есть вопрос по маркерам линии фронта. В принципе возможно организовать захват выбранного города на карте в "пограничной" зоне не линейно (поочереди), а с выбором направления. Но тогда линия фронта может иметь несколько вариантов и заранее их предусмотреть нельзя. Если ставить маркер на город, то фронт может получиться "кривым"(у меня и вручную с трудом получается добиться точного расположения) и не отражающим реального положения на карте. К тому же планируется захват не самих городов, а целого района вокруг этого города. И такой район может оказаться в окружении. Может посоветует кто-нибудь, как быть. Или может вообще отказаться от линии фронта? Сделать карту-раскраску "провинций" и для хардкора предлагать пилотам самим прорисовывать линию фронта
Навскидку - рисуешь эти же самые районы сугубо маркерами. В итоге у тебя должен получиться набор районов, и каждый район имеет коллекцию маркеров, описывающую границы этого района.

Далее программная часть.
Есть сущность "карта", которая содержит коллекцию сущностей "район", каждый из "районов" в свою очередь содержит коллекцию сущностей "маркер". У каждого маркера есть ссылка на противоположный маркер соседнего района.

Кроме этого, "карта" содержит метод Update, который при вызове будет формировать новый набор маркеров и загружать его в качестве подмиссии, а также метод, перекрашивающий маркера указанного района в указанный цвет.

Теперь подробнее о методе Update
Пробегаем по всей коллекции районов и по их коллекциям маркеров и добавляем в результирующий список только те маркера, цвет которого отличается от цвета соседнего маркера - что бы не рисовать ненужные границы между районами одинакового цвета.

Код достаточно простой - но маркера расставлять надо будет долго и нудно, От этого уже никуда не убежишь.

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