Linie przerywane w OL3?

13

Wiem, że kreska nie działa Linia OL3 (Openlayers 3) została wcześniej zapytana, ale proponowane rozwiązanie nie działa.

Mój kod to:

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
  })
});

Próbowałem obu [4,4]i [40,40]zasugerowałem w pytaniu połączonym. Ale to nie działa.

Ishan
źródło
2
spróbuj lineDash: [4,4]lublineDash: [40,40]
Gabor Farkas
@GaborFarkas: Cześć. Próbowałem już obu, ale to nie działa
Ishan

Odpowiedzi:

19

Linie przerywane można wykonać za pomocą:

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
})

Zrobiłem ci przykład online!

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

Możesz użyć tego „testera” online, aby uzyskać różne kombinacje:

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

Jonatas Walker
źródło
Dobry przykład na żywo, ale czy możesz opisać w odpowiedzi, co zrobiłeś, aby uzyskać linie przerywane?
Mapperz
1
Dziękuję za wszystkie odpowiedzi. Popełniłem błąd. Robiłem to samo, co wszyscy mi każą. Błąd polegał na niewielkiej różnicy małych i wielkich liter. „Linedash” i „LineDash”
Ishan