Skip to content

Konfliktsøgning

Foretag en konfliktsøgning på f.eks. en adresse, et klik i kortet eller brugerens aktuelle position.

Konfliktsøgnigen sker ved, at der kaldes en service, der returnerer resultatet. Resultatet vises i en liste.

Options

Herunder findes en beskrivelse af de enkelte egenskaber, der kan angiver til denne funktion.

disable

  • Type: boolean
  • Default: false

Skal kontrollen deaktiveres. Herved fungerer det, som om kontrollen ikke var tilføjet. Kan bruges til midlertidig at fjerne en kontrol.

detach

  • Type: string

Angiv en reference til et alternativ html-element, som denne kontrol skal vises i. Det kan benyttes til at placere indholdet af en kontrol et andet sted på sin side. Hvis detach har værdien "abc", så skal der tlføjes et element til HTML'en på denne form: <div data-widget-detach="abc"/>. Hvis elementet ikke findes, så fungerer kontrollen, som hvis detach ikke var angivet.

css

  • Type: string | string[]

Angiv en sti til en css-fil, der skal loades efter denne kontrol. Herved vil det være muligt at lave en brugertilpasset style af kontrollen.

className

  • Type: string

Tilføj en speciel CSS class til elementet. Dette kan bruges til at styre hvordan elementet ser ud eller placeres på siden.

title

  • Type: string

Gør elementet mere tilgængeligt.

template

  • Type: string | object

Angiver den html-template, der anvendes til at præsentere resultater. Hvis ikke angivet, så vises listen uden overskrift og formatering. Med template kan man styre det, der ligger uden om listen. Det kunne være en overskrift samt en forklarende tekst. Læs mere om templates generelt her. For denne template er der to tilgængelige attributter; <%= title %> og <%= content %>, hvor <%= title %> benyttes til at skrive, hvor ruten starter, mens <%= content %> er dér, hvor listen indsættes. De enkelte rækker i listen styres af template_route på laget.

target

  • Type: object[]

Angiver en liste af services, der skal kaldes. Læs mere her.

highlight

  • Type: boolean
  • Default: false

Skal det fundne markeres i kortet? Dette er specielt hensigtsmæssigt, når eventtype er "mapclick", men kan også bruges i andre situationer. Denne mulighed er ikke optimal, når der bruges flere targets.

zoomOptions

  • Type: object

Bruges kun, når "highlight" er sat til true. Hvis angivet, så zoomes der til objektet med den angivede metode. sæt evt. "preventZoom" på "search" for at undgå at de begge zoomer. Læs mere om zoomOptions her.

inMap

  • Type: boolean
  • Default: false

Skal resultatet vises oven på kortet som en normal infoboks.

closeButton

  • Type: boolean
  • Default: false

Vis en lukknap i infoboksen. Når brugeren klikker på knappen, lukkes boksen og markeringen fjernes. Dette er specielt anvendeligt i kombination med inMap.

features_style

  • Type: object | object[]

Bruges kun, når "highlight" er sat til true. Her er det muligt at angive, hvordan markeringen skal styles i kortet. Læs mere om features_style her.

eventtype

  • Type: string | string[]
  • Default: featureadded

Typen af interaktionen. Gyldige værdier: "featureadded", "featureselected" (tidligere "click") eller "mapclick". Ved "featureselected" aktiveres konfliktsøgningen, når der klikkes på en vektorfeature i kortet. Ved "featureadded" aktiveres konfliktsøgningen, når andre funktioner tilføjer noget til kortet. Det kan for eksempel være søgefunktionen. Dog aktiveres konfliktsøgningen ved søgning på lokale data ved "featureselected", da det, der sker er at featuren vælges i kortet. Ved "mapclick" aktiveres konfliktsøgningen, når brugeren klikker et sted i kortet.

simplifyInputToPoint

  • Type: boolean
  • Default: false

Når der søges, bruges en geometri som input. Nogle services har en begrænsning på, hvordan de kan kaldes. Det kan for eksempel være, at URL'en kan blive for lang, hvis den geometri, der søges med, er stor. Derfor er det muligt at angive "simplifyInputToPoint", der gør, at inputgeometrien konverteres til et punkt, inden det sendes afsted til servicen.

queryFilter

  • Type: boolean | string
  • Default: true

Filtre når et inputobjekt skal aktivere en konfliktsøgning. Det vil typisk være en template, der angives. Læs mere om templates her.

Hvilke data skal der søges i

Opsætningen til hver enkelt target.

host

  • Type: string

En URL til den service, der skal kaldes. I URL'en vil <%= wkt %> blive erstattet med en WKT-streng for det, der laves konfliktsøgning med. Tilsvarende vil <%= x %> og <%= y %> blive erstattet med centroiden for objektet.

Mulige parametre er: <%= wkt %>, <%= x %>, <%= y %>, <%= buffer %>, <%= zoom %>, <%= resolution %>, <%= minx %>, <%= maxx %>, <%= miny %> og <%= maxy %>.

Derudover er det muligt at tjekke på hvilken eventtype der har aktiveret konfliktsøgningen. Det gøres ved at bruge <%= event %>, der har værdien mapclick, hvis brugeren har klikke i kortet, eller featureadded hvis eventet kommer via en markering fra f.eks. søgefeltet. Dette kan bruges til at differentiere kaldet afhængigt af hvad brugeren har gjort.

Hvis konfliktsøgningen aktiveres via søgefeltet, er der også muligt at benytte oplysinger herfra til at danne URL'en med. Herved kan konfliktsøgningen ske ved en kombination af geometri og/eller attributværdier. Det kan f.eks. være at man vil bruge ejerlavskoden fra "dawa" til at lave konfliktsøgningen med. Dette gøres ved at benytte <%= properties.ejerlav.kode %>. Eller hvis man søger på lokale data i søgefeltet, så kan man få adgang til et id via <%= properties.id %>. Dette kræver altså lidt viden om de data, der søges i samt at den service man benytter, understøtter andet end blot et grometrisk filter.

type

  • Type: string

Elementet 'type' angiver typen af servicen. Gyldige værdier: geojson, esrijson, datasourcejson, spatialqueryjson, json, djangojson og local. Derudover er det muligt at have værdien text, der blot sætter værdien af "template" ind. Dette kan f.eks. bruges til at indsætte en fast overskrift eller et "Læs mere" link.

Bemærk

Ved typen local foretages der kun konfliktsøgning på de features der er hentet. Det betyder at denne form for konfliktsøning ikke egner sig til lag, der f.eks. benytter loadingstrategy.

Ved typen local skal layer angives for at definere hvilket lag, der indeholder data.

dataType

  • Type: string
  • Default: 'json'

Hvordan returneres data. Kan antage en af følgende værdier: "jsonp" og "json". Brug "json", hvis servicen ligger på samme domæne eller leveres med CORS-header.

paramNames

  • Type: object

Det er muligt at angive en række parametre til den URL, der er angivet i host. I dette eksempel kan man enten kalde siden med denne widget med URL-parameteren =?planid=1234. Alternativt kan man på DIV elementet angive attributten data-widget-planid="1234":

json
"paramNames": {
  "key": "planid"
}

template

  • Type: string | object

Her angives en html-skabelon for, hvorledes en eventuel tilhørende tekst skal præsenteres. Attributter fra data kan angives i html-skabelonen med følgende notation <%= attributnavn %>. Læs mere om templates generelt her.

className

  • Type: string

Tilføj en speciel CSS class til elementet. Dette kan bruges til at styre hvordan elementet ser ud eller placeres på siden.

layers

  • Type: object[]

En liste med lag, der skal tændes når konfliktsøningen får et hit. Derudover bruges det til at "mapclick" kun udfører konfliktsøgningen, hvis et eller flere af de angivede lag, er tændte.

layer

  • Type: string

Når type er local benyttes denne parameter til at definere et ID på det lag, der indeholder de data, der skal søges i.

template_nohit

  • Type: string | object

Her angives en html-skabelon for, hvorledes en eventuel tekst skal præsenteres når der ikke er nogen hits. Dette kan bruges til at få fuld kontrol pver hvad der skal vises når konfliktsøgningen ikke finder noget. Hvis angivet, så ignoreres nohitmessage. Attributter fra konfigurationen af dette target, kan angives i html-skabelonen med følgende notation <%= attributnavn %> Læs mere om templates generelt her.

nohitmessage

  • Type: string

Den tekst, der vises, hvis servicen returnerer en tom liste.

errormessage

  • Type: string

Den tekst, der vises, hvis servicen fejler.

nolayermessage

  • Type: string

Den tekst, der vises, hvis et relateret lag (layers) ikke er vist.

Eksempler

Eksempler, der bruger denne komponent: