Как мне нарисовать прямоугольник в gwt-openlayers?

Я вижу, что он поддерживается для версии без gwt, здесь: http://openlayers.org/dev/examples/draw-feature.html (щелкните «поле рисования»)

Однако я не могу найти способ получить доступ к этой функции через gwt-openlayers. Я использую SmartGWT, но не думаю, что это имеет значение.


person BLuFeNiX    schedule 17.12.2013    source источник


Ответы (1)


Это делается с помощью элемента управления DrawFeature с использованием RegularPolygonHandler.

См. этот пример: http://demo.gwt-openlayers.org/gwt_ol_showcase/GwtOpenLayersShowcase.html?example=Draw%20Regular%20Polygon%20Example

Кнопка рисования круга под картой на самом деле является кнопкой-переключателем. Когда она нажата, рисуются круги (которые на самом деле являются многоугольниками с 40 сторонами), а когда она не нажимается, рисуются прямоугольники (которые на самом деле являются многоугольниками с 4 сторонами). Итак, когда пример запущен, просто попробуйте рисовать на карте, и вы увидите, что нарисованы прямоугольники.

Это код, который вас интересует (для создания ящиков):

final DrawFeature drawRegularPolygon = new DrawFeature(vectorLayer, new RegularPolygonHandler());
map.addControl(drawRegularPolygon);
drawRegularPolygon.activate();
RegularPolygonHandlerOptions options = new RegularPolygonHandlerOptions();
options.setSides(4);
((RegularPolygonHandler) drawRegularPolygon.getHandler()).setOptions(options);
person Knarf    schedule 17.12.2013
comment
Спасибо! Я попробую это. - person BLuFeNiX; 19.12.2013
comment
Для меня это отличное начало, но мне нужно рисовать прямоугольники (не только квадраты). Я изучаю это сейчас, поэтому, пожалуйста, дайте мне знать, если у вас есть еще код/совет. Спасибо! - person BLuFeNiX; 19.12.2013
comment
Выполнено с options.setIrregular(true); Я выбрал ваш ответ. - person BLuFeNiX; 19.12.2013