Experimentet fortsätter – Lager

( börja med del 1, del 2 och del 3 )

Då så! Jag har en snygg webbkarta med lämpliga bakgrundskartor och nu vill jag få till mina lager.

Screenshot from 2014-05-17 15:59:21

Det lager jag använt hittills hanteras av koden i bilden ovan i min fil ”lager.js”. Om jag bryter ner det så är det ett lagernamn (Sverige QGIS) och en sökväg till tjänsten.

Sedan följer det val av lager från tjänsten (Sverige) vilket är samma som projektnamnet, men det går att välja enstaka lager från projektet också så val av lager bör vara en parameter att överväga.

Att lagret skall vara transparent och därför i png-format kan tyckas självklart, men man vet aldrig.

Detsamma gäller om det skall vara ett baslager eller inte, även om det normalt sett inte skall vara det.

Slutligen så skall lagret läggas till, men där har vi ingen extra parameter att ta hänsyn till.

Mer då? Alla lager kanske inte skall vara synliga som standard utan kanske snarare tvärtom. Då får man lägga till en rad innan lagret läggs till:

sverige.setVisibility(false);

Detta skulle dock kunna vara en parameter att ta hänsyn till.

Att tjänsten skall vara transparent är ganska självklart, men om man vill att lagret i sig skall vara transparent mot bakgrunden så måste man sätta den också. Detta görs med ”opacity:” som i exemplen från igår. Om man tittar i koden i bilden ovan så beskrivs lagret i tre rader. En rad som namnger och pekar ut servern (Name, URL), en rad som preciserar tjänsten (parameters) och en rad som beskriver lagrets egenskaper i kartan (Options). Opaciteten skall in på den tredje raden, vilket gör att man både har transparens (för tjänsten) och opacitet (för lagret), och det är viktigt att man förstår skillnaden.

Sammantaget så har jag då följande parametrar att ta hänsyn till så småningom.

  1. LagerObjekt
  2. TjänsteNamn
  3. TjänsteURL (ServerURL + ProjektNamn)
  4. LagerNamn
  5. Transparens
  6. Bildformat
  7. Baslager
  8. Opacitet
  9. Synlighet

Jag sparar denna lista lite och går vidare med att lägga till flera lager i filen ”lager.js” för att testa lite mera. Jag använder nu även opacitet och synlighet för dessa lager.

Screenshot from 2014-05-17 17:25:37

Tricket att få till rullisten till höger i lagerväljaren var att lägga till två rader i stilmallen:

 overflow:auto;
 height:400px;

Jag provade med att inte sätta någon höjd på lagerväljaren, men då blev det aldrig någon rullist. Att bestämma en höjd såhär är lite vanskligt dels då man inte utnyttjar hela ytan när man har få lager, och dels eftersom man inte har riktig kontroll över hur stort fönster användaren visar kartan i eller hur stor skärmen är. Det mesta av detta kan man dock lösa med olika skript, men jag tänker inte försöka mig på detta nu.

En annan rolig detalj som jag inte löst är att om man skrollar med mushjulet så fungerar det fint, men om man ”klickdrar” i rullisten så panorerar man även kartan.

Nåja, det fungerar att lägga till många lager och det är ett ganska tydligt sätt att skapa dessa lager på:

var lagerObjekt = new OpenLayers.Layer.WMS(
   lagerNamn, serverURL + projektNamn,
   { layers: lager, transparent: transparens, format: bildFormat },
   {isBaseLayer: baslager, opacity:opacitet}
);
lagerObjekt.setVisibility(synlig);
map.addLayers([lagerObjekt]);

Hmm… Jag känner ett litet skript komma krypande.

Annonser

Taggar:,

Trackbacks / Pingbacks

  1. Experimentet avslutas – eller? | Geosupportsystem - 23 maj, 2014

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: