2016-03-09 2 views
0

В исследовании я нашел один пример для стрелки в ссылке ниже http://openlayers.org/en/v3.8.2/examples/line-arrows.htmlКак создать многоугольник Openlayer 3 со стрелкой?

и для векторного слоя http://openlayers.org/en/v3.1.0/examples/vector-layer.html

мне нужно отобразить многоугольник с каждой стороны стрелки.

Пожалуйста, помогите ...

ответ

2

использовать первый пример, из тех, вы предоставляете, и сделать следующие моды.

  1. изменить тип геометрии взаимодействия притягивать к полигону

    map.addInteraction(new ol.interaction.Draw({ 
    source: source, 
    type: /** @type {ol.geom.GeometryType} */ ('Polygon') 
    })); 
    
  2. добавить цвет заливки внутри стилей для вашего полигона

    var styles = [ 
    // linestring 
    new ol.style.Style({ 
        stroke: new ol.style.Stroke({ 
        color: '#ffcc33', 
        width: 2 
        }), 
        fill: new ol.style.Fill({ 
        color: 'rgba(255,0,0,0.5)' 
        }) 
    }) 
    ]; 
    
  3. В вашей функции стиля получить внешнее кольцо вашего полигона в виде линейной линии

    var geometry = new ol.geom.LineString(
    feature.getGeometry().getLinearRing(0).getCoordinates() 
    ); 
    

вот все !!! и fiddle here

ОБНОВЛЕНИЕ

Для случая укладки только вектор многоугольник слоя со стрелками. Я сделал fiddle, чтобы продемонстрировать. Я не знаю твоего случая, но скрипка была путаницей стрел.

+0

Если требуется загрузить многоугольник (с таким же стилем стрелки) сразу после загрузки карты, то как сделать код (в настоящее время полигон отображается только после взаимодействия)? Спасибо за вашу большую помощь. – swaraj

+0

Вы имеете в виду стиль векторного слоя многоугольника со стрелками? Скажем, 2-й пример, который вы предоставляете со стилем стрелки ???? – pavlos

+0

Да, я имею в виду векторный полигональный слой со стилем стрелки. – swaraj

Смежные вопросы