Frage zum Thema Routing in OpenLayers

Hallo,

Gibt es eine Möglichkeit ein Routing in OpenLayers einzbauen? Habe zwar mit cloudmade maps und yours openroute möglichkeiten gefunden, aber kann man die auch irgendwie mit der Karte in OpenLayers Verknüpfen?

Moins,

Die OpenLayers-Koponenten laufen im Browser; sie dienen zum Anzeigen von Daten und enthalten keine Routingfunktionalität. Es wäre auch grober Unfug, eine Routing-Datenbasis von dutzenden oder hunderten Megabytes in den Browser zu laden, um per JS eine einzelne Route zu berechnen.

Man wird also einen Server die Route berechnen lassen, diese dann in den Browser laden und mit Komponenten der OL-Bibliothek darstellen.

Gruß Wolf

So hätte ich es mir auch vorgestellt, welche Möglichkeiten gibt es denn dafür? Bzw. sind hierfür Beispiele vorhanden?

Moins,

Da würd’ ich mich an die Betreiber der Route-Service Seiten, z.B. openrouteservice.org, wenden und nach einer API fragen, insbesondere auch um die Erlaubnis bitten, eine solche zu nutzen.

Gruß Wolf

Ok, also es ist nicht möglich berechneten Routingergebnisse in OpenLayers darzustelllen? Also ich versteh es jetzt darunter so ich hab auf meiner karte die mittels openlayers dargestellt wird ein textfeld für start und ende gebe dies ein und zb openroute oder cloudmade berechnet dies und zeigt mir das ergebnis in openlayers an? so würde ich es mir vorstellen, sorry aber leider blick ich was das Thema Routing betrifft nicht ganz durch.

Nahmd,

OL kann so ziemlich alle möglichen Daten darstellen. Aber erst, wenn man die Daten hat.

Das baut man mit HTML -Elementen.

Dazu muss man die eingegeben Werte an den jeweiligen Routing-Server übergeben, also eine auf eine URL abgebildete API aufrufen. Diese API muss der Server erst einmal bereitstellen. Und man sollte die Erlaubnis haben, sie zu nutzen. Das alles hat nichts mit OpenLayers oder dem Browser überhaupt zu tun.

Diese API liefert als Ergebnis ein GPX mit einem Track oder eine XML-Struktur oder was auch immer mit einer Liste der Teilstrecken …

Und wenn die vom Routing-Service gelieferten Daten angekommen sind (egal in welcher Form), dann kann man man die mit einer der OL-Komponenten darstellen.

Wichtig ist also der Routing-Service und seine API. Die Darstellung des Ergebnisses folgt dann zwanglos aus der Form, in der das Routingergebnis angeliefert wird.

Gruß Wolf

Ok alles klar, vielen dank für die info. das heißt also auch wenn ich zb mit openroute verlinke, sprich im Pop Up ist ein Link wie dieser http://openrouteservice.org/index.php?start=7.0892567,50.7265543&end=7.0986258,50.7323634&lat=50.72905&lon=7.09574&zoom=15&pref=Fastest&lang=de dann muss ich zu erst nachfragen ob ich überhaupt verlinken darf, seh ich das richtig? Ein Tutorial wie so etwas funktionieren könnte, wird es wohl nicht geben oder?

Nahmd,

Verlinken, also Deine Besucher zu einer anderen Seite schicken, darfst Du immer, auch ohne nachzufragen.

Das ändert sich, wenn Du die fremde Seite bei Dir per <iframe src=> einbaust, und erst recht, wenn Du deren Daten abgreifst und bei Dir anzeigst.

Die bekannten Routing-Seiten bieten mehr Funktionen als “von A nach B”, Zwischenpunkte, Verkehrsmittelauswahl, sonstige Parameter, so dass es normalerweise schlauer ist, jemanden dorthin zu schicken, als zu versuchen, dass bei sich nachzubauen.

Gruß Wolf

Alles klar, herzlichen Dank für deine Hilfe, dann werde ich das mal mit dem verlinken probieren! Denn ich denke nicht das ich es schaffen werde dies in meine Seite einzbauen. Hab mir auch schon überlegt meine ganze Kartendarstellung auf die google api umzuwandeln, denn da ist das routing wesentlich leichter einzbauen.

Mir fällt da spontan die Cloudmade API ein. Die ist auch sehr einfach einzubauen. http://developers.cloudmade.com/projects/routing-http-api/examples/find-route
Die OSRM-API habe ich noch nicht ausprobiert, sieht aber auch einfach aus: https://github.com/DennisOSRM/Project-OSRM/wiki/Server-api
Hier nochmal eine Übersicht über OSM-Online-Router. In der Tabelle siehst du auch, welche Services eine API anbieten: http://wiki.openstreetmap.org/wiki/Routing/OnlineRouters

Edit: Mapquest hat auch einige Beispiele: http://open.mapquestapi.com/directions/
Edit2: Guck dir auch vorher die Bedingungen zur Benutzung der APIs an.