Startside/Guides/Udviklere
Udviklere

Hvordan integrerer man et mobilitetskort på sitet?

Integrer et ROOTE-kort på dit site: responsiv iframe, filtre til cykler, toiletter, bus og sporvogn, by-søgning og parameteroverførsel.

By ROOTE·7 min læsetid
Hvordan integrerer man et mobilitetskort på sitet?
Et nyttigt kort integreret på din side.

Det væsentlige på få sekunder

Brug en iframe til embed.roote.ai og overfør sted, zoom og transportformer i URL’en. Skil kamera fra søgepunkt, behold parametre ved overførsel til map.roote.ai og test visningen på mobil.

For at integrere et mobilitetskort på dit site uden at bygge hele interface, brug en ROOTE iframe. Embed kan modtage by-søgning og filtre tilpasset siden: cykler til cykelguide, toiletter til toiletguide, bus og sporvogn til kollektiv trafik.

Eksempler i denne guide bruger embed.roote.ai, domænet integreret i ROOTE-guides. Den generelle dokumentation beskriver også integration af map.roote.ai og adskiller kamera-parametre fra fuldstændige søgeparametre.

Tilføj en responsiv iframe

Denne blok åbner en cykelsøgning i Bordeaux med zoom 15. URL’en er konstrueret i koden; iframe-ens titel beskriver indholdet for skærmlæsere. Tilpas denne titel til sidens sprog.

<iframe
  title="Carte ROOTE — vélos à Bordeaux"
  src="https://embed.roote.ai/?q=Bordeaux&amp;modes=bicycle&amp;zoom=15"
  width="100%"
  height="480"
  loading="lazy"
  allow="geolocation"
  style="display:block; width:100%; min-height:360px; border:0; border-radius:16px;"
></iframe>

I et HTML-attribut skrives separatorer & som &amp;. Bredden på 100 % følger containeren. Bevar en brugbar højde på mobil og undgå at placere vigtige kontroller uden for den synlige zone.

Vælg transportformer, der passer til siden

BehovEmbed parameter
Cyklermodes=bicycle
Toilettermodes=toilets
Busmodes=bus
Sporvognmodes=tram
Bus og sporvognmodes=bus,tram
Cykler og toilettermodes=bicycle,toilets

Disse værdier kommer fra embed ROOTE’s familier mobilitet, service og transit. De erstatter ikke REST-parametre: Services bruger types, mens Transit bruger modes. Et by-centreret kort garanterer ikke resultater for hver familie.

Skil kamera og søgeoprindelse ad

lat og lon placerer kameraet. De er ikke nok i kortets dokumenterede kontrakt til at skabe en nærhedssøgning. For at genskabe en kendt søgning, brug search_lat, search_lon og search_label sammen med modes og zoom.

https://embed.roote.ai/?search_lat=44.8416106&search_lon=-0.5810938&search_label=Bordeaux&zoom=15&modes=bus,tram

Koordinaterne ovenfor er et referencepunkt i Bordeaux, ikke brugerens position. Hvis du tilføjer kamera-parametre, kan du vise et andet område samtidig med at bevare punktet til afstandsberegning. Gør det kun hvis denne opdeling ønskes.

Dokumentation af ROOTE kortparametre

Byg en URL uden at miste specialtegn

Brug URL og URLSearchParams i stedet for manuel sammenkædning. Det koder mellemrum, accenter og separatorer. Koden er til browseren og skaber iframe adresse ud fra et indtastet sted.

const embedUrl = new URL('https://embed.roote.ai/');
embedUrl.searchParams.set('q', 'Place des Quinconces, Bordeaux');
embedUrl.searchParams.set('modes', 'bicycle,toilets');
embedUrl.searchParams.set('zoom', '15');
document.querySelector('iframe').src = embedUrl.toString();

Bevar kontekst mod fuldt kort

Et link til map.roote.ai skal bevare den aktuelle søgetilstand hvis kendt. At genskabe en URL uden dens parametre mister by, modes eller zoom. Behold et fælles URL-objekt ved opdateringer fra din side.

const fullMapUrl = new URL('https://map.roote.ai/');
fullMapUrl.search = embedUrl.search;
const link = document.querySelector('[data-open-map]');
link.href = fullMapUrl.toString();
link.target = '_blank';
link.rel = 'noopener noreferrer';

Denne kode bevarer kendte parametre fra parentsiden. Hvis bruger ændrer søgning i iframe, kan parent ikke direkte læse dens URL på en anden domæne. For at hente denne tilstand kræves en eksplicit implementeret og dokumenteret mekanisme, fx postMessage med oprindelsesvalidering. Opfind ikke begivenhedsnavne der ikke leveres af embed.

Håndter lokation og mobil interaktion

allow="geolocation" tillader iframe at anmode om lokation, afhængigt af samtykke og sitets tilladelsespolitik. Afslag skal stadig lade by-søgning være brugbar. Bed ikke om position straks ved sideindlæsning uden brugerinitiativ.

På en artikel kan frivillig aktivering af kort undgå at kortets scroll eller zoom fanger bevægelser under læsning. Kontrollen skal være tastaturtilgængelig og klart navngivet. Test orientationsændringer og smalle skærme, ikke kun desktop-version.

Kontrollér resultat og fejlsituationer

Test hvert filter, en kendt by, et område med få data, en ugyldig søgning og en utilgængelig familie. Et kort uden markør alene viser ikke om søgning er tom eller i fejltilstand. Behold beskeder fra embed og adgang til fuldt kort.

Skil fravær af resultater og API-fejl ad

Vælg mellem embed, API og MCP

Guide-eksempel til at finde toiletter

For udviklereROOTE Mobility API

Mobilitet omkring et punkt.
Direkte i din app.

  • Søg
    omkring en position
  • Få adgang til
    mobilitetsdata
  • Integrer i
    din applikation

Gå fra kort til data: søg mobilitetsmuligheder og -tjenester i nærheden med ROOTE API.

Ofte stillede spørgsmål

Skal man sætte en API-nøgle i iframe?

De offentlige URL’er her indeholder ingen. Placer ikke hemmeligheder i en embed-URL eller klientkode.

Øger zoom=15 søgeradius?

Zoom styrer viewet. Sammenlign ikke med radius for API-forespørgsel; tjek søgeparametre for benyttet interface.

Kender parent ændringer foretaget i iframe?

Det kender de parametre, det sender. Interne ændringer kræver en dokumenteret kommunikationsmekanisme mellem de to domæner.

Hvad med at kigge omkring dig?

Udforsk dit kvarter med ROOTE og find tilgængelige oplysninger til at planlægge din tur.

Udforsk ROOTE-kortet ↗