OpenLayers – przezroczystość warstwy
Tworząc internetowy serwis zawierający mapy, zdarza się, że chcielibyśmy na naszą mapę nałożyć inną mapę albo użyć fotomapy (np. google albo zumi) jako warstwy podkładowej do naszej mapy. W OpenLayers jest to bardzo proste. Zgodnie z dokumentacją zawartą na stronie projektu wystarczy zdefiniować nową warstwę. Problem pojawia się w momencie gdy warstwy nakładają się na siebie i jedna zasłania drugą. Aby uniknąć takich sytuacji wystarczy dodać do definiowanej warstwy, parametr transparent: true który ustawia przezroczystość dla obszarów warstwy nie pokrytych mapą np. dla warstwa dróg będzie widoczna tylko w tych miejscach gdzie przebiegają drogi a pozostałe obszary będą przezroczyste i będzie widoczna warstwa znajdująca się pod spodem naszej warstwy drogi.
Poniżej przedstawiono przykładową warstwę “drogi” oraz zastosowanie parametru transparent
drogi = new OpenLayers.Layer.WMS(
//opis warswty
“Polska – drogi”,
//adres serwera wms
“http://moj.wms:8080/geoserver/wms”,
{
//wysokosc okna warstwy
height: ’300′,
//szereokosc okna warstwy
width: ’800′,
//nazwa warstwy na serwerze wms
layers: ‘polska:drogi’,
//uklad wspolrzednych mapy
srs: ‘EPSG:2180′,
//przezroczystosc warstwy
transparent: true
},
{singleTile: true, ratio: 1}
);
W wyniku nałożenia warstwy drogi na fotomapę google uzyskano efekt podobny do przedstawionego na poniższym rysunku.
