MapBS-API
Diese Seite beschreibt, wie die MapBS-API genutzt werden kann. Die API stellt eine moderne Web-Component-API zur Verfügung, die eine einfache Integration in Webseiten ermöglicht. Technisch gesehen handelt es sich bei der API um eine schlanke OpenLayers-Anwendung, die Kartendienste des Kantons Basel-Stadt bereits integriert hat. Im Folgenden werden Beispiele aufgeführt.
Die MapBS-API ist öffentlich zugänglich. Wie alle anderen APIs des
Kantons Basel-Stadt benötigen Sie jedoch für den Zugang einen
kostenlosen API-Key.
Einen API-Key können Sie auf folgender Seite beantragen:
https://api.geo.bs.ch
Grundlagen
Um die API nutzen zu können, fügen Sie einfach den folgenden Code hinzu:
<head> <script type="module" crossorigin src="https://api.geo.bs.ch/mapbs-api/v1/mapbs-api.js?apikey=public_test_key"></script> </head>
Der Key public_test_key kann als Beispiel verwendet werden, jedoch ist die Anzahl der Abfragen begrenzt.
Ein einfachen Kartenausschnitt hinzufügen
<map-bs />
Koordinaten angeben, um die Karte zu zentrieren
<map-bs center="2614484, 1267592" />
Auf ein Objekt zentrieren
centertoobject ist ein optionales Attribut. Es dient der genaueren Angabe für das Suchergebnis.
Mögliche Werte : "Adresse" oder "Strasse, Platz, Park" oder "AddressID" oder "BBOX" (siehe nächstes Beispiel)
<map-bs centerto="Steinengraben" centertoobject="Strasse, Platz, Park" />
Auf eine Bounding Box zentrieren
centertoobject ist für die Zentrieung der Bounding Box ein Pflichtattribut.
<map-bs centerto="2610980.179, 1266842.005, 2611145.501, 1267262.677" centertoobject="BBOX" />
or with EPSG:3857:
<map-bs centerto="844302.941,6032677.920,844546.280,6033302.425" centertoobject="BBOX" projection="EPSG:3857" />
Den Zoomlevel festlegen
<map-bs zoom="8" />
Die Kartenprojektion festlegen
<map-bs projection="EPSG:3857" />
Den Hintergrundlayer auswählen
Mögliche Werte: grau (Standard), farbig, luftbild
<map-bs background="luftbild" />
WMS-Layers hinzufügen
Mögliche Werte: Kitas, Allmendbewilligungen, BaselInfo, BaselInfoPOIs
Optionale Parameter: wmstimefrom und wmstimeto können genutzt werden, um WMS Ebenen zeitlich zu filtern, falls die Ebenen dies erlauben.
<map-bs wmslayers="Kitas, Allmendbewilligungen" legend="true" wmstimefrom="2025-01-01" wmstimeto="2025-06-30" />
Inaktive WMS-Layers hinzufügen
<map-bs wmslayers="Kitas, Allmendbewilligungen" inactivewmslayers="Kitas" legend="true" />
Das Mouse-Scroll deaktivieren
<map-bs embed="true"/>
Marker in der Mitte der Karte hinzufügen
<map-bs marker="true" />
Einen benutzerdefinierten Marker verwenden
<map-bs marker="true" markerurl="https://map.geo.bs.ch/static/api/apihelp/img/parking.png" />
Eine Liste von Markern aus einer Datei laden
<map-bs marker="https://map.geo.bs.ch/static/api/apihelp/data.txt" />
Zeichenwerkzeuge aktivieren
modifyfeatures ist ein optionales Attribut, mit welchem gesteuert werden kann, ob die gezeichneten Features im Nachhinein bearbeitet werden können. Standardmässig können sie bearbeitet werden.
<map-bs drawpoint="true" drawpolygon="true" drawline="true" drawbox="true" translate="true" rotate="true" modifyfeatures="true" delete="true" />
Mehrere Zeichnungen erlauben
<map-bs drawpoint="true" drawpolygon="true" mode="multi" />
Zeichenwerkzeuge aktivieren mit eigener Farbe
<map-bs drawpoint="true" drawpolygon="true" drawline="true" drawfillcolor="rgba(44,127,184,0.2)" drawstrokecolor="rgba(44,127,184,1)" />
Eine Geojson Geometrie als Input für die Zeichnung
<map-bs id="geojsonEdit" drawpoint="true" drawpolygon="true" mode="multi" delete="true"/>
Die gezeichneten Geometrien abrufen
<map-bs id="mapOnChange" drawpolygon="true" drawbox="true" delete="true" mode="multi" />
Eine Legende anzeigen
<map-bs legend="true" drawpoint="true" drawpolygon="true" drawline="true" mode="multi"/>
Ein GeoJSON als Ebene hinzufügen
<map-bs id="geojson" legend="true"/>
OpenLayers verwenden, um zusätzliche Ebenen hinzuzufügen
<map-bs id="mapAddLayers" legend="true" />
Suchfenster einblenden
<map-bs search="true"/>
Aktuelles Kartenbild als Base64 Bild exportieren
Hier im Beispiel wird das Kartenbild nach einer Zeichnungsaktion ausgelöst.
<map-bs id="mapbsapi-export" drawpoint="true" drawpolygon="true" drawline="true" drawbox="true" delete="true"/>