Denne service gør det muligt at hente en liste med steder, der alle opfylder et eller flere kriterier. Man kan søge „fritekst“, eller på nøgleord eller efter steder i nærheden af en GPS position.
Fra version 1.0
Fritekstsøgning giver mulighed for at søge efter steder, der indeholder bestemte ord i deres navn, adresse, nøgleord eller anmeldelser.
URL'en for at foretage en fritekstsøgning er:
http://api.mitkbh.dk/[api version]/nodes/?search=[query]
| Parameter | Type | Standard værdi | Mulige værdier | Beskrivelse |
|---|---|---|---|---|
| api version | string | Ingen - skal specificeres | Se Versionering | Se Versionering |
| query | string | Ingen - skal specificeres | Alle strenge | De(t) ord, der søges efter. Husk at specialtegn skal URL encodes |
| URL | Beskrivelse |
|---|---|
| http://api.mitkbh.dk/1.x/nodes/?search=kaffe | Fritekst søgning efter kaffe |
| http://api.mitkbh.dk/1.x/nodes/?search=%F8l | Fritekst søgning efter øl |
Fra version 1.0
Nøgleordssøgning giver mulighed for at søge efter steder, der er blevet tilknyttet specifikkke nøgleord i tekst-form 1).
URL'en for at foretage en nøgleordssøgning er:
http://api.mitkbh.dk/[api version]/nodes/?tags=[tags]
| Parameter | Type | Standard værdi | Mulige værdier | Beskrivelse |
|---|---|---|---|---|
| api version | string | Ingen - skal specificeres | Se Versionering | Se Versionering |
| tags | string | Ingen - skal specificeres | alle strenge | De(t) nøgleord, steder skal være tilknyttet Ved søgning på flere nøgleord så adskilles de af ; (semikolon). Husk at specialtegn skal URL encodes |
| URL | Beskrivelse |
|---|---|
| http://api.mitkbh.dk/1.x/nodes/?tags=kaffe | Søger efter steder tilknyttet nøgleordet kaffe |
| http://api.mitkbh.dk/1.x/nodes/?tags=kaffe;sol | Søger efter steder tilknyttet nøgleordene kaffe og sol |
Fra version 1.0
Geografisk søgning giver mulighed for at søge efter steder, der ligger i nærheden af et punkt defineret ved en længdegrad og en breddegrad. Der bliver på nuværende tidspunkt leveret steder, der ligger inden for en radius af ca. 800 m. fra punktet.
Hvis du har brug for at få en længdegrad og en breddegrad ud fra en adresse kan du bruge Googles geocoding API.
URL'en for at foretage en geografisk søgning er:
http://api.mitkbh.dk/[api version]/nodes/?lat=[latitude]&lon=[longitude]
| Parameter | Type | Standard værdi | Mulige værdier | Beskrivelse |
|---|---|---|---|---|
| api version | string | Ingen - skal specificeres | Se Versionering | Se Versionering |
| lat | float | 0 | -90 til 90 | Punktets breddegrad. Skal være forskellig fra 0. Husk at bruge punktum og ikke komma ved decimalerne |
| lon | float | 0 | -90 til 90 | Punktets længdegrad. Skal være forskellig fra 0. Husk at bruge punktum og ikke komma ved decimalerne |
| URL | Beskrivelse |
|---|---|
| http://api.mitkbh.dk/1.x/nodes/?lat=55.69066&lon=12.55829 | Leder efter steder i en radius af ca. 800 meter af positionen med breddegrad 55.69066 og længdegrad 12.55829 |
Fra version 1.1
Geografisk „boks“ søgning giver mulighed for at søge efter steder, der ligger inden for en defineret kasse - eller boundary.
Der skal angives to punkter, hvorefter en rektangel bliver beregnet i API'en.
Du skal altså angive minlat,maxlon og maxlat,minlon
minlat,maxlon X----------------- | | | | | | | | | | | | -----------------X maxlat,minlon
Dette kan fx bruges til Google Maps - eller deres nye Mapplets.
Der returneres samme data som i Geografisk søgning (radius) dog med den forskel, at distance er afstanden til centrum af boksen.
URL'en for at foretage en geografisk boks søgning er:
http://api.mitkbh.dk/[api version]/nodes/?minlat=[latitude]&maxlon=[longitude]&maxlat=[latitude]&minlon=[longitude]
| Parameter | Type | Standard værdi | Mulige værdier | Beskrivelse |
|---|---|---|---|---|
| api version | string | Ingen - skal specificeres | Se Versionering | Se Versionering |
| minlat | float | 0 | -90 til 90 | Punktets breddegrad. Skal være forskellig fra 0. Husk at bruge punktum og ikke komma ved decimalerne |
| maxlat | float | 0 | -90 til 90 | Punktets længdegrad. Skal være forskellig fra 0. Husk at bruge punktum og ikke komma ved decimalerne |
| minlon | float | 0 | -90 til 90 | Punktets breddegrad. Skal være forskellig fra 0. Husk at bruge punktum og ikke komma ved decimalerne |
| maxlon | float | 0 | -90 til 90 | Punktets længdegrad. Skal være forskellig fra 0. Husk at bruge punktum og ikke komma ved decimalerne |
| URL | Beskrivelse |
|---|---|
| http://api.mitkbh.dk/1.x/nodes/?minlat=55.1&maxlon=12.6&maxlat=55.8&minlon=12.1 | Leder efter steder inden den rektangulære boks (boundary) mellem punkterne breddegrad 55.1,længdegrad 12.6 til breddegrad 55.8,længdegrad 12.1 |
Sted søgning kan modificeres ved hjælp af en række frivillige parametre, der giver muliged for at sortere i og begrænse søgeresultaterne, der virker for både fritekst søgning, tag søgning og geografisk søgning.
| Parameter | Type | Standard værdi | Mulige værdier | Beskrivelse |
|---|---|---|---|---|
| nodetype | integer | 0 (alle kategorier) | 0-x (pt er 10 max) | Afgrænsning af kategori |
| orderby | string | RELEVANCE | RELEVANCE|DISTANCE2), RATING, WEIGHTED, NAME, TYPE | Dette angiver hvordan resultaterne skal sorteres. Se nedenstående forklaring |
| limit | integer | 1000 | 1-x | Begrænsning af antal resultater |
Her kommer en lidt uddybende forklaring på orderby parameteren.
| Værdi | Beskrivelse |
|---|---|
| RELEVANCE | Sortér efter en beregnet relevans. Sortering sker fra mest til mindst relevante på samme måde som normale søgninger på www.mitkbh.dk |
| DISTANCE | Sortér efter afstand til en givet punkt. DISTANCE virker kun når man søger på koordinater og kan her bruges i stedet for RELEVANCE. Bemærk at afstanden til punktet returneres som en del af svaret. |
| RATING | Sortér efter vurdering uanset antal stemmer |
| WEIGHTED | Sortér efter en vægtet vurdering. Det er en Bayesian vægt der laves - og stedet skal have minimum 5 stemmer for overhovedet at komme i betragtning! Dvs. alt under 5 stemmer bliver automatisk frasorteret. Bemærk at den vægtede vurdering returneres, som en del af svaret. |
| NAME | Sortér alfabetisk efter navnet på stedet. A kommer først |
| TYPE | Sortér efter nodetype. Rækkefølgen er defineret i mitKBH systemet, og er samme rækkefølge som vores menu vises i (spisesteder, cafeer, take away …). |
Kategorierne du kan søge inden for igennem nodetype parameteren er:
| Id | Kategori |
|---|---|
| 0 | Alle kategorier |
| 1 | Klubber |
| 2 | Caféer |
| 3 | Scene |
| 4 | Barer |
| 5 | Steder |
| 6 | Take away |
| 7 | Spisesteder |
| 10 | Butikker |
Lad være med at spørge hvad der blev af 8 og 9 :).
| URL | Beskrivelse |
|---|---|
| http://api.mitkbh.dk/1.x/nodes/?search=kaffe&nodetype=2 | Søger på kaffe i kategorien Cafeer |
| http://api.mitkbh.dk/1.x/nodes/?search=kaffe&nodetype=2&limit=20 | Søger på kaffe i kategorien Cafeer og returnerer max 20 resultater |
| http://api.mitkbh.dk/1.x/nodes/?search=kaffe&nodetype=2&limit=20&orderby=RELEVANCE | Søger på kaffe i kategorien Cafeer og returnerer de 20 mest relevante resultater i sorteret rækkefølge |
| http://api.mitkbh.dk/1.x/nodes/?tags=n%F8rrebro;kaffe&nodetype=2 | Søger efter steder tilnyttet de to nøgleord Nørrebro3) OG kaffe i kategorien Cafeer |
| http://api.mitkbh.dk/1.x/nodes/?lat=55.69066&lon=12.55829&orderby=DISTANCE | Søger efter steder i nærheden af punktet med længedegrad 55.69066 og breddegrad 12.55829 sorteret efter deres afstand til dette punkt |
Klik på eksempel-linksne for at se hvad de returnerer.
Eksempel på resultat for http://api.mitkbh.dk/1.x/nodes/?search=Atame
<?xml version="1.0" encoding="utf-8"?> <response status="ok"> <nodesearchresult> <resultsreturned>2</resultsreturned> <resultsfound>2</resultsfound> <nodes> <node> <id>43</id> <name>Atame</name> <address> <street>Blågårdsgade 3</street> </address> <position> <latitude>55.687746159518824</latitude> <longitude>12.559905052185059</longitude> </position> <nodetypes> <nodetype id="7" primary="true">Spisesteder</nodetype> </nodetypes> <rating> <score>4.4211</score> <votes>19</votes> </rating> <teaser>...<b>Atame</b> er et super sted. Maden er hjemmelavet, god og billig. Øllet flyder og maden kommer i en lind</teaser> </node> <!-- flere resultater --> </nodes> </nodesearchresult> </response>
Ved søgning på geografisk placering resulterer i lidt ekstra information med for hver node i XML resultatet:
<distance> <kilometer>0.0835</kilometer> <textual>84m</textual> </distance>
Distance skal dog tages med et gran salt. Det er i luft linie og ikke vildt præcist, men en god indikator på afstanden mellem to punkter.
Her vises rating→score og rating→votes ved en normal søgning.
<rating> <score>5.2353</score> <votes>17</votes> </rating>
Når et søgeresultat skal sorteres efter vægtet vurdering tilføjes rating→weighted:
<rating> <score>5.2353</score> <votes>17</votes> <weighted>4.9228636363636</weighted> </rating>
Den kommer kun med når vægtet rating, fordi den er ret tung at beregne.