2012-05-11 7 views
0

Какие методы использует сообщество для редактирования многоугольника на карте Bing?редактирование bing map polygon

мышление программы векторной графики, вы можете выбрать сторону, добавить точку в разрез`ать сторону, переместить точку, которая rubberbands в надвое сторону и т.д.

Прецедент является пользователь обращается многоугольник , но они хотят настроить его или сделать хитрости к нему после рисования.

ответ

3

Насколько я знаю, нет реализации фреймворка для того, что вы хотите достичь, которое будет работать «из коробки». Тем не менее, все строительные блоки есть. У вас есть объект Polygon для представления вашего многоугольника на карте. Для сторон вы можете использовать Polyline. Для ваших вершин вы можете использовать Pushpin. Все эти формы обладают способностью обрабатывать свои собственные события мыши, поэтому с небольшим количеством кода и дневной работой вы можете закачивать себе простой редактор многоугольников.

Идея состоит в том, чтобы иметь несколько сегментов полилинии (по 2 вершины), которые окружают ваш многоугольник. Эти сегменты Polyline будут иметь обработчики событий mousedown, поэтому, когда пользователь нажимает на сторону, вы знаете, где он щелкнул. Используя эту информацию, вы можете теперь обновить свой Polygon и окружающие Polylines, чтобы включить эту новую вершину.

Для ваших вершин вы можете использовать кнопки для визуализации их. Для каждой вершины поставьте события mousedown и mousemove. Когда пользователь нажимает на вершину, мышь запускается. Это ваш сигнал, что пользователь хочет переместить эту вершину, чтобы вы могли активировать обработчик mousemove для этой вершины. Когда пользователь впоследствии перемещает свою мышь, вы перемещаете вершину с помощью мыши, а также обновляете полигон и соответствующие полилинии (или обновляете их все, если вы ленивы).

В любом случае, вот что я сделал для проекта, над которым я работаю. Это инструмент измерения крыши, но вы можете видеть, что он имеет большую часть той же функциональности, которую вы хотите достичь, то есть пользователь может редактировать многоугольник, перемещая вершины. Это было сделано с использованием обычного API v7, чтобы вы могли добиться чего-то подобного.

enter image description here

+0

Большое спасибо за понимание. Я приму ваши предложения и придумаю решение, которое работает для меня. Если это стоит того и общего, я отправлю туда или в GitHub! Еще раз спасибо. –