Søg i Septima Widget K
Kort (map)
Elementet "map" definerer en widgets overordnede kortegenskaber.
Options
Herunder findes en beskrivelse af de enkelte egenskaber, der kan sættes på lagvælgeren.
title
- Type:
string
Gør elementet mere tilgængeligt.
crs
- Type:
string
- Default:
EPSG:25832
Kortets koordinatreferencesystem defineret i EPSG, eksempelvis: EPSG:25832
.
maxZoomLevel
- Type:
number
- Default:
0
Angiver, hvor langt brugeren må zoome ud i kortet. Jo lavere tal, der angives, jo længere ud kan brugeren zoome. Den lavest mulige værdi er 0
.
minZoomLevel
- Type:
number
- Default:
11
Angiver, hvor langt brugeren må zoome ind i kortet. Jo højere tal, der angives, jo længere ind kan brugeren zoome. Den højeste værdi, der kan angives, bestemmes af det anvendte kort.
view
- Type:
object
Elementet view
definerer et korts opstartstilstand. Det vil sige, centerpunkt defineret ved x
og y
koordinater i kortet samt zoomlevel
:
json
"view": {
"zoomLevel": 6,
"x": 724406,
"y": 6175994
}
Alternativt er det muligt at angive extent
som en bbox med det udsnit, der skal vises.
json
"view": {
"extent": [445058, 6066492, 890702, 6400726]
}
Det er også muligt at angive et maxExtent
, der gør, at brugeren ikke kan panorere væk for et givent extent.
json
"view": {
"zoomLevel": 0,
"x": 724406,
"y": 6175994,
"maxExtent": [445058, 6066492, 890702, 6400726]
}
Kortet kan være roteret fra start ved at tilføje rotation
til view
. Bemærk at rotation
angives i radianer.
layer
- Type:
Layer[]
En liste af lag, der skal vises i kortet. Læs mere her.
height
- Type:
number | string
- Default:
550px
Angiv, hvor højt kortet skal være. Værdien kunne for eksempel være 300
eller 300px
, der begge sætter højden på kortet til 300 pixels. Højden kan også angives i procent. For eksempel 100%
, der kan benyttes til fuldskærmskort.
Denne egenskab kan ligeledes angives direkte på den div
, der definerer widget'en. Det gøres ved at tilføje en attribut, der hedder data-widget-height
:
html
<div data-widget="mapwidget" data-widget-height="100%"></div>
useHash
- Type: `boolean
- Default: `false
Skal den aktuelle position gemmes i URL'en, så man kan sende URL'en til en anden og se præcis det samme udsnit, så sæt useHash
til true.
useStore
- Type: `object
Med useStore
er det muligt at gemme flere ting omkring kortets aktuelle visning, herunder centerpunkt og zoomniveau til det rette sted, næste gang brugeren ser denne widget, samt hvilke lag, der er vist. Det er for eksempel relevant, når brugeren forlader siden og vender tilbage hurtigt efter. Som udgangspunkt bliver det gemte sted husket i 30 sekunder (30.000 millisekunder). Denne værdi kan ændres ved at sætte expire
til et andet antal i millisekunder:
json
"useStore": {
"expire": 600000
}
Herved udløber den først efter 600.000 millisekunder, svarende til ti minutter. Sæt expire
til never
for aldrig at udløbe:
json
"useStore": {
"expire": "never"
}
For at altivere at lag også huskes, tilføjes "layer": true
. Herved vil de sidst viste lag være aktive næste gang brugeren kommer ind på siden. Default er "layer": false
Tilsvarende vil "map": false
gøre at kortets centerpunkt og zoomniveau ikke gemmes. Default er "map": true
json
"useStore": {
"expire": "never",
"map": true,
"layer": true
}
For at sikre at det, der gemmes bliver brugt af den samme Widget, benyttes URL'en som identifikation. Men dele af URL'en kan være dynamiske selvom det er den samme Widget, der vises. Derfor er det muligt at angive en liste med URL parametre, der ikke skal tages med som identifikatin. Det gøres ved at angive en liste med en eller flere parametrenavne på denne måde: "ignoreURLParams": ["husnummerid"]
json
"useStore": {
"expire": "never",
"ignoreURLParams": [
"husnummerid"
]
}
mapcontrols
- Type: `object
Med mapcontrols
er det muligt at styre, hvordan interaktionen i kortet skal være. Det er for eksempel muligt at disable zoom med musehjulet. Det gøres ved at sætte mouseWheelZoom
til false
:
json
"mapcontrols": {
"mouseWheelZoom": false
}
Følgende navigationsfunktioner der kan deaktiveres: mouseWheelZoom
, dragRotate
, shiftDragZoom
, doubleClickZoom
, dragPan
, pinchZoom
, pinchRotate
, keyboard
og scaleline
. Derudover kan onFocusOnly
sættes til true
, hvis brugeren skal have kortet i fokus før der kan navigeres i det. Default er . Det er ligeledes muligt at styre hvor meget der zoomes ind ved dobbeltklik ved at angive et tal for zoomDelta
. Følgende funktioner kan aktiveres: scaleline
og zoom
. Eksempelvis:
json
"mapcontrols": {
"zoom": true
"scaleline": true
}
For scaleline
er det muligt at angive forskellige parametre i stedet for true
. Det kan bruges til at styre hvilket element (angiv ID på elementet) scaleline skal vises i som her:
json
"mapcontrols": {
"scaleline": {
"target": "elementID"
}
}
epsgDefs
- Type: `object
Her er det muligt at definere projektioner, der bruges i kortet. Hvis ikke angivet, så kaldes https://epsg.io for at hente ukente projektioner. Fordelene ved at angive projektionsdefinitionen på forhånd er, at der ikke skal ventes på at en ekstern service skal kaldes. Det kan også være at det er en speciel projektion eller at man ikke ønsker at kalde nogen eksterne kilder.
Her ses et eksempel på at definere EPSG:3007
. Definitionen kan findes på f.eks. https://epsg.io/3007 (kig efter PRoJ.4
):
json
"epsgDefs": {
"EPSG:3007": "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs"
}
Det er muligt at angive definitionen på flere projektioner.