Dokumentation af BiQ Locate Autocomplete
BiQ Locate Autocomplete er en JavaScript-komponent, der gør det nemt at tilføje adresse-autocomplete til webapplikationer. Komponenten hjælper brugeren med at indtaste en gyldig dansk adresse ved løbende at foreslå match, mens der skrives.
Baggrund
Komponenten er en videreudvikling af DAWA Autocomplete. DAWA Autocomplete udfases og afvikles ved udgangen af juni 2026, og BiQ Locate Autocomplete kan bruges som en moderne erstatning i løsninger, der har behov for adresseforslag og validering af danske adresser.
Hvordan den virker
Når komponenten er tilføjet til en side, kobles den på ét eller flere inputfelter. Når brugeren skriver, henter komponenten forslag fra BiQ Locate API'et og viser dem som en liste. Når brugeren vælger et forslag, kan den valgte adresse bruges i jeres løsning (fx vises, gemmes eller sendes videre i en formular).
Varianter
- Single field – brugeren skriver hele adressen i ét felt, og vælger derefter et forslag.
- Multi field – adressen deles op i felter (typisk postnr/by, vejnavn, husnr, etage/side), hvor hvert felt har autocomplete. Det kan gøre indtastningen mere trinvis og styret.
API (Swagger)
JavaScript-komponenten henter data fra et bagvedliggende API. Den fulde API-dokumentation (endpoints, parametre og modeller) findes her: https://locate-api.biq.dk/swagger/index.html
Adgang (Bearer Token)
For at bruge BiQ Locate Autocomplete skal du have en Bearer Token. Kontakt BiQ for at få udstedt en token: [email protected].
Teknisk beskrivelse af JavaScript-komponent
Komponenten eksponeres globalt som biqAutocomplete, når scriptet
biq-autocomplete.min.js er indlæst på siden.
<script src="https://cdn.locate-autocomplete.biq.dk/assets/biq-autocomplete/1.0.1/biq-autocomplete.min.js"></script>
Tilgængelige funktioner
| Funktion | Formål |
|---|---|
biqAutocomplete.biqAutocomplete(input, options) |
Autocomplete til en komplet adresse i ét inputfelt. |
biqAutocomplete.biqPostnrAutocomplete(input, options) |
Autocomplete til postnummer/by. |
biqAutocomplete.biqVejnavnAutocomplete(input, options) |
Autocomplete til vejnavn. |
biqAutocomplete.biqHusnrAutocomplete(input, options) |
Autocomplete til husnummer baseret på valgt postnummer og vejnavn. |
biqAutocomplete.biqEtageDørAutocomplete(input, options) |
Autocomplete til etage/dør baseret på valgt adgangsadresse. |
Fælles options
Alle autocomplete-funktioner tager et input-element som første parameter og et
options-objekt som anden parameter.
| Option | Type | Standard | Beskrivelse |
|---|---|---|---|
bearerToken |
string |
null |
Bearer Token til BiQ Locate API'et. Sendes som Authorization: Bearer .... |
baseUrl |
string |
https://locate-api.biq.dk/api/v1 |
Base URL til API'et. Skal normalt ikke ændres. |
minLength |
number |
Varierer | Minimum antal tegn før der søges efter forslag. |
fuzzy |
boolean |
true |
Aktiverer fuzzy søgning, så forslag kan findes selv ved mindre stavefejl. |
timeout |
number |
null |
Timeout i millisekunder for API-kald. Hvis null, bruges ingen komponentstyret timeout. Tilgængelig fra version 1.0.1 |
select |
function |
Callback der kaldes, når brugeren vælger et endeligt forslag. | |
error |
function |
Callback der kaldes ved fejl i API-kald. Tilgængelig fra version 1.0.1 |
Funktionen: biqAutocomplete
Funktion: biqAutocomplete bruges til autocomplete af adresser i ét felt.
const adresseInstance = biqAutocomplete.biqAutocomplete(adresseInput, {
bearerToken: 'INSERT-YOUR-BEARER-TOKEN-HERE',
select: function (selected) {
console.log(selected.tekst);
console.log(selected.data);
},
error: function (error) {
console.error(error.message);
}
});
| Option | Type | Standard | Beskrivelse |
|---|---|---|---|
type |
string |
adresse |
Bestemmer typen der skal vælges. Typisk adresse eller adgangsadresse. |
adgangsadresserOnly |
boolean |
false |
Hvis true, sættes type automatisk til adgangsadresse. |
startfra |
string |
vejnavn |
Angiver hvilket trin autocomplete skal starte fra. |
postnr |
string |
null |
Begrænser forslag til et bestemt postnummer. |
kommunekode |
string |
null |
Begrænser forslag til en bestemt kommune. |
adgangsadresseid |
string |
null |
Begrænser søgningen til en bestemt adgangsadresse. |
supplerendebynavn |
boolean |
true |
Medtager supplerende bynavn i forslag. |
multilinje |
boolean |
false |
Viser forslag over flere linjer, hvis API'et returnerer linjeskift i forslagsteksten. |
debounce |
number |
Ikke sat | Udskyder API-kald indtil brugeren holder pause med at skrive. Angives i millisekunder. |
id |
string |
Ikke sat | Kan bruges til at initialisere feltet med en eksisterende adresse-id. |
Funktionen: biqPostnrAutocomplete
Funktionen: biqPostnrAutocomplete bruges til autocomplete af postnummer/by.
const postnrInstance = biqAutocomplete.biqPostnrAutocomplete(postnrInput, {
bearerToken: 'INSERT-YOUR-BEARER-TOKEN-HERE',
minLength: 1,
select: function (selected) {
console.log(selected.tekst);
console.log(selected.data.nr);
console.log(selected.data.navn);
},
error: function (error) {
console.error(error.message);
}
});
| Option | Type | Standard | Beskrivelse |
|---|---|---|---|
nr |
string |
null |
Begrænser forslag til et bestemt postnummer. |
minLength |
number |
1 |
Minimum antal tegn før der søges. |
Funktionen: biqVejnavnAutocomplete
Funktionen: biqVejnavnAutocomplete bruges til autocomplete af vejnavn.
const vejnavnInstance = biqAutocomplete.biqVejnavnAutocomplete(vejnavnInput, {
bearerToken: 'INSERT-YOUR-BEARER-TOKEN-HERE',
postnr: selectedPostnr,
select: function (selected) {
console.log(selected.tekst);
console.log(selected.data.navn);
},
error: function (error) {
console.error(error.message);
}
});
// Kan bruges efter valg af postnummer:
vejnavnInstance.setPostnr('8000');
| Option/metode | Type | Beskrivelse |
|---|---|---|
postnr |
string |
Begrænser vejnavne til et valgt postnummer. |
kommunekode |
string |
Begrænser vejnavne til en valgt kommune. |
setPostnr(postnr) |
function |
Opdaterer postnummeret efter komponenten er oprettet. |
Funktionen: biqHusnrAutocomplete
Funktionen: biqHusnrAutocomplete bruges til autocomplete af husnummer.
Komponenten kræver både postnr og vejnavn, før der kan hentes forslag.
const husnrInstance = biqAutocomplete.biqHusnrAutocomplete(husnrInput, {
bearerToken: 'INSERT-YOUR-BEARER-TOKEN-HERE',
postnr: selectedPostnr,
vejnavn: selectedVejnavn,
select: function (selected) {
console.log(selected.tekst);
console.log(selected.data.id);
},
error: function (error) {
console.error(error.message);
}
});
husnrInstance.setPostnr('8000');
husnrInstance.setVejnavn('Åboulevarden');
husnrInstance.triggerSearch();
| Option/metode | Type | Beskrivelse |
|---|---|---|
postnr |
string |
Valgt postnummer. |
vejnavn |
string |
Valgt vejnavn. |
setPostnr(postnr) |
function |
Opdaterer postnummeret. |
setVejnavn(vejnavn) |
function |
Opdaterer vejnavnet. |
triggerSearch() |
function |
Henter forslag uden at brugeren først behøver skrive i husnummerfeltet. |
Funktionen: biqEtageDørAutocomplete
Funktionen: biqEtageDørAutocomplete bruges til autocomplete af etage/dør.
Komponenten kræver et adgangsadresseid, før der kan hentes forslag.
const etageDoerInstance = biqAutocomplete.biqEtageDørAutocomplete(etageDoerInput, {
bearerToken: 'INSERT-YOUR-BEARER-TOKEN-HERE',
adgangsadresseid: selectedAdgangsadresseid,
select: function (selected) {
console.log(selected.tekst);
console.log(selected.data.betegnelse);
},
error: function (error) {
console.error(error.message);
}
});
etageDoerInstance.setAdgangsadresseid(selectedAdgangsadresseid);
etageDoerInstance.triggerSearch();
| Option/metode | Type | Beskrivelse |
|---|---|---|
adgangsadresseid |
string |
ID på den valgte adgangsadresse. |
setAdgangsadresseid(id) |
function |
Opdaterer adgangsadresse-id efter komponenten er oprettet. |
triggerSearch() |
function |
Henter forslag uden at brugeren først behøver skrive i feltet. |
Callback funktionen: select
Når brugeren vælger et forslag, kaldes select-callbacken med et
selected-objekt.
{
"type": "adresse",
"tekst": "Paradisvej 1, 2670 Greve",
"caretpos": 24,
"forslagstekst": "Paradisvej 1, 2670 Greve",
"data": {
"id": "0a3f50ab-15e4-32b8-e044-0003ba298018",
"status": 1,
"darstatus": 3,
"vejkode": "6278",
"vejnavn": "Paradisvej",
"adresseringsvejnavn": "Paradisvej",
"husnr": "1",
"etage": null,
"dør": null,
"supplerendebynavn": null,
"postnr": "2670",
"postnrnavn": "Greve",
"kommunekode": "0253",
"adgangsadresseid": "0a3f5081-4090-32b8-e044-0003ba298018",
"x": 12.28279732,
"y": 55.57458801,
"betegnelse": "Paradisvej 1, 2670 Greve"
}
}
| Felt | Beskrivelse |
|---|---|
forslagstekst |
Den tekst der vises i autocomplete-listen. |
tekst |
Den tekst der indsættes i inputfeltet ved valg. |
caretpos |
Cursorens placering efter valg. |
type |
Typen af forslag. Bruges især i single field autocomplete. |
data |
Det underliggende objekt fra API'et. Indholdet afhænger af den valgte autocomplete-type. |
Callback funktionen: error
Hvis et API-kald fejler, kaldes error-callbacken med et fejlobjekt.
{
"type": "http",
"message": "BIQ autocomplete request failed with HTTP 401",
"status": 401,
"statusText": "Unauthorized",
"context": "autocomplete",
"originalError": null
}
| Felt | Beskrivelse |
|---|---|
type |
Fejltype. Kan fx være network, http, parse eller timeout. |
message |
Fejlbesked. |
status |
HTTP-statuskode, hvis fejlen kommer fra API'et. |
statusText |
HTTP-statustekst, hvis relevant. |
url |
Den URL der blev kaldt. |
context |
Intern kontekst for kaldet, fx autocomplete, postnr, vejnavn, husnr eller etageDør. |
originalError |
Den oprindelige fejl, hvis der findes en. |
Metoder på returnerede instanser
| Metode | Tilgængelig på | Beskrivelse |
|---|---|---|
destroy() |
Alle komponenter | Fjerner event handlers og autocomplete-listen fra DOM'en. |
selected() |
biqAutocomplete |
Returnerer senest valgte adresseobjekt for single field autocomplete. |
id(id) |
biqAutocomplete |
Initialiserer eller opdaterer inputfeltet ud fra et eksisterende adresse-id. |
setPostnr(postnr) |
biqVejnavnAutocomplete, biqHusnrAutocomplete |
Opdaterer valgt postnummer. |
setVejnavn(vejnavn) |
biqHusnrAutocomplete |
Opdaterer valgt vejnavn. |
setAdgangsadresseid(id) |
biqEtageDørAutocomplete |
Opdaterer valgt adgangsadresse-id. |
triggerSearch() |
biqHusnrAutocomplete, biqEtageDørAutocomplete |
Starter en søgning manuelt, typisk efter et foregående felt er valgt. |