Routing APIs

Blitzschnelles Routing Weltweite Abdeckung

Die Maptoolkit Routing-APIs bieten leistungsstarke Funktionen, darunter A-nach-B-Routing, Map Matching und Isochronen-Berechnungen für verschiedene Verkehrsmittel (Auto, Fahrrad und Fuß), mit flexibel anpassbaren Gewichtungen.

Auto Routing API

Ermitteln Sie weltweit die kürzesten und effizientesten Routen für Autos.

Fahrrad Routing API

Wählen Sie zwischen Profilen für fahrradfreundliche Infrastruktur, kürzeste oder schnellste Strecke.
Erreichen Sie Routing-Ergebnisse auf Top-Niveau mit integrierten Höhendaten und Metriken zur Routenpopularität.

Gehen und Wandern

Entdecken Sie optimale Wege, wie sie auch von Einheimischen bevorzugt werden.

Unsere Routing-APIs sind sowohl im requestbasierten Preismodell auf dem RapidAPI-Marktplatz als auch als Teil von Maptoolkit Enterprise verfügbar. Details finden Sie unter Maptoolkit Preise.

Das könnte Sie ebenfalls interessieren:

Beispiel …

Routing with MapLibreGL map

<html>
<head>
  <meta charset="UTF-8" />
  <link rel="stylesheet" href="https://static.maptoolkit.net/css/maplibre-gl.css" />
  <style>
    body { width: 100%; height: 100%; padding: 0; margin: 0; font-family: Arial, sans-serif; }
    #map { width: 100%; height: 100%; }
  </style>
</head>
<body>
  <div id="map"></div>
  <script src="https://unpkg.com/[email protected]/dist/maplibre-gl.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/mapbox-polyline/1.1.1/polyline.min.js"></script>
  <script>
    // Initialize MapLibreGL map
    let map = new maplibregl.Map({
      container: "map",
      style: "https://static.maptoolkit.net/styles/toursprung/terrain.json?api_key=your_api_key",
      center: [11.413507, 47.270537],
      zoom: 13,
    });
    map.on("load", () => {
      // Get route from Routing API
      let start = [11.393712, 47.259938],
        end = [11.430896, 47.28187];
      let url = new URL("https://routing.maptoolkit.net/route");
      url.searchParams.append("point", `${start[1]},${start[0]}`);
      url.searchParams.append("point", `${end[1]},${end[0]}`);
      url.searchParams.append("routeType", "car");
      url.searchParams.append("api_key", "your_api_key");
      fetch(url)
        .then((r) => r.json())
        .then((route) => {
          let path = route.paths[0];
          // Add route polyline to map
          let coordinates = polyline.decode(path.points).map(c => c.reverse());
          console.log(coordinates);
          map.addLayer({
            id: "route",
            type: "line",
            source: {
              type: "geojson",
              data: {
                type: "Feature",
                geometry: {
                  type: "LineString",
                  coordinates: coordinates,
                },
              },
            },
            layout: {
              "line-join": "round",
              "line-cap": "round",
            },
            paint: {
              "line-color": "#2a3561",
              "line-width": 5,
            },
          });
          // Add instruction markers with popup to map
          path.instructions.forEach((instruction) => {
            let $img = document.createElement("img");
            $img.src = "https://static.maptoolkit.net/sprites/toursprung/route-via.svg";
            $img.width = 12;
            $img.height = 12;
            $img.style["cursor"] = "pointer";
            new maplibregl.Marker({
              element: $img,
              anchor: "center",
            })
              .setLngLat(instruction.coordinate.reverse())
              .addTo(map)
              .setPopup(new maplibregl.Popup().setHTML(`<p>${instruction.text}</p>`));
          });
          // Add route end marker
          let $img = document.createElement("img");
          $img.src = "https://static.maptoolkit.net/sprites/toursprung/marker.svg";
          $img.width = 29;
          $img.height = 30;
          let marker = new maplibregl.Marker({
            element: $img,
            anchor: "bottom",
          })
            .setLngLat(coordinates[coordinates.length - 1])
            .addTo(map);
        });
    });
  </script>
</body>
</html>

Routing Enhancement API


Sie möchten ein Routing-Ergebnis erhalten, dieses aber auf eine vorgegebene Strecke wie etwa einen touristischen Radweg „snappen“? Hier kommt die Routing Enhancement API ins Spiel. Sie übergeben der API Adressen (wie bei einer normalen Routing-API) plus eine definierte Route (GPX oder GeoJSON). Die Enhancement API zwingt das Ergebnis nicht zwingend auf die komplette Route, sondern berechnet einen intelligenten, kurzen Zu- und Abweg zu einem passenden Abschnitt, so wie es ein Mensch tun würde.

Unser Preismodell

Flexible Preisgestaltung, die sich Ihren Anforderungen anpasst
Starten Sie mit unserer kostenlosen Stufe, zahlen Sie bei wachsendem Bedarf pro Anfrage über RapidAPI oder wählen Sie eine Enterprise-Lizenz für vollen Zugriff.

FAQ

Ja. Das Routing-Ergebnis (Polyline) kann in jeder Kartenbibliothek dargestellt werden, zum Beispiel in Leaflet oder MapLibre.

Ja, mehrere Wegpunkte sind möglich.

Ja. Sie können bei Bedarf eigene Regeln für Ihr Routing definieren.

Kurz gesagt: ja.

Dies ist im Kern ein User-Interface-Thema und eine Kombination der Routing API mit der Geocoding API. Die Routing API nimmt Koordinaten als Eingabe und berechnet die Route zwischen diesen Punkten. Um Ihre POI-Daten in Koordinaten zu übersetzen, benötigen Sie die Geocoding API.

Ja. Das Ergebnis der Routing API enthält auch Turn-by-Turn-Anweisungen.

Länge der Route, geschätzte Reisezeit sowie Aufstieg und Abstieg.

Nicht direkt, aber Sie können die Polyline an die Elevation API übergeben und ein Höhenprofil erhalten.

Sie können die Route als GPX, KML oder GeoJSON exportieren.

Wir beraten Sie persönlich


Handy +43 664 1308111 [email protected]