Страница 1 из 1

OpenLayers:подсветка границы выделенного полигона

Добавлено: 09 окт 2010, 08:19
Denis Rykov
Из-за чего может проявляться такой эффект и как его победить:

Re: OpenLayers:подсветка границы выделенного полигона

Добавлено: 09 окт 2010, 12:14
Mavka
<telepathy>
Полигон в векторном слое.
Создан styleMap в котором определен стиль 'default' с линиями голубого цвета.
При выделении полигона он меняет цвет на желтый?
А стиль 'select' задан?
<telepathy/>

Re: OpenLayers:подсветка границы выделенного полигона

Добавлено: 09 окт 2010, 17:53
Максим Дубинин
теоретизирую, может цвет выделения для "неправильно" отображающегося куска находится под соседней линией в отличие от других сегментов, где он над и показывается нормально.

Re: OpenLayers:подсветка границы выделенного полигона

Добавлено: 09 окт 2010, 18:03
Denis Rykov
1. Да, полигон в векторном слое с дефолтным стилем.
2. Стили заливки выделенного полигона (select) соответствует цвету полигона слоя (имитация прозрачности), а цвет границы выделенного полигона - голубой. Описание стиля:

Код: Выделить всё

{strokeOpacity:1, strokeColor:'#3399FF', fillOpacity:0.4,strokeDashstyle: "solid",fillColor:'#ee9900'}
3. При выделении полигон не меняет цвет, подсвечивается только граница.

Re: OpenLayers:подсветка границы выделенного полигона

Добавлено: 09 окт 2010, 18:43
Mavka
"полигон не меняет цвет, подсвечивается только граница"
цвет заливки (fillColor) остается прежним, цвет контура (strokeColor) меняется с оранжевого на голубой.

Если я все понял, то прав sim - выделенный полигон частично перекрывают соседние полигоны, линии контуров накладываются.

Re: OpenLayers:подсветка границы выделенного полигона

Добавлено: 09 окт 2010, 19:31
Denis Rykov
А можно как то сделать подсветку самым верхним слоем? У меня вектор - KML, полученный в результате конвертации из SHP, попробовал на других шейпах - результат тот же самый, хотя никаких перекрытий - просто общие границы.

Re: OpenLayers:подсветка границы выделенного полигона

Добавлено: 09 окт 2010, 19:43
Mavka
Может этот пример поможет...

Re: OpenLayers:подсветка границы выделенного полигона

Добавлено: 02 фев 2011, 19:09
Denis Rykov
Спасибо! Дйствительно, пример помог. Всё, что нужно было сделать, включить Z-индексирование в свойствах векторного слоя:

Код: Выделить всё

l1 = new OpenLayers.Layer.Vector("l1",{styleMap:myStyleMap, rendererOptions: {zIndexing: true}});