Пунктирные линии в OL3?

13

Я знаю, что Line dash не работает. OL3 (Openlayers 3) был задан ранее, но предлагаемое решение не работает.

Мой код:

var calculateStyle= new ol.style.Style({
      fill: new ol.style.Fill({
    color: [255, 255, 255, 0.6],
    opacity: 0.3
  }),
  stroke: new ol.style.Stroke({
    color: [0, 153, 255, 1],
    linedash: [40,40],
    width: 3
  })
});

Я попробовал оба [4,4]и [40,40]предложил в вопросе связаны. Но это не работает.

Ishan
источник
2
пожалуйста, попробуйте lineDash: [4,4]илиlineDash: [40,40]
Габор Фаркас
@GaborFarkas: Привет. Я уже попробовал оба, но это не работает
Ишан

Ответы:

19

Пунктирные линии могут быть сделаны с:

new ol.style.Style({
    stroke: new ol.style.Stroke({
        width: 3, color: 'rgba(255, 255, 255, 1)',
        lineDash: [.1, 5] //or other combinations
    }),
    zIndex: 2
})

Я сделал вам онлайн пример!

http://plnkr.co/edit/AW1YNC?p=preview

Вы можете использовать этот онлайн-тестер для получения различных комбинаций:

http://phrogz.net/tmp/canvas_dashed_line.html

Джонатас Уокер
источник
Хороший пример из жизни, но можете ли вы описать в своем ответе, что вы сделали, чтобы получить пунктирные линии?
Mapperz
1
Спасибо за все ваши ответы. Я получил ошибку. Я делал то же самое, что все говорят мне. Ошибка заключалась в небольшой разнице строчных и прописных букв. 'Linedash' и 'LineDash'
Ишан