Entfernung messen

Hallo Forum,

Ich habe eine Seite mit 3 Links, die jeweils eine Map in leaflet mit vorgegebenem Marker an einer Stelle X (Längengrad/Breitengrad ) aufrufen, der an ein Popup gebunden ist.

Ich würde gerne, ausgehend von einem bestimmten festen Punkt (Länge/Breite) jeweils die kürzeste Entfernung (über Strassen, nicht Luftlinie) zu diesem obigen Punkt wissen und in das Popup einblenden. Vielleicht sogar die Strasse(n) markieren.

Geht das und wie stelle ich das an?

Kolibri

Dazu brauchst du Routing. Du willst also (für welches Verkehrsmittel?) die Route zwischen 2 Punkten berechnen lassen, und dann bei dir anzeigen.

“Darfst” du dazu einen Webservice benutzen, oder musst du das alles selbst implementieren? Wenn webservice such dir einen von http://wiki.openstreetmap.org/wiki/Routing/online_routers aus. Der Webservice liefert dir dann Entfernung und Route, und die Rout kannst du dann in deiner Leaflet-Karte anzeigen.

Wenn selbst bauen: such dir einen Open-Source-Router aus der Liste, und gucke wie der implementiert ist.

tl;dr: http://www.yournavigation.org/api/1.0/gosmore.php?format=geojson&flat=52.215676&flon=5.963946&tlat=52.2573&tlon=6.1799&v=motorcar&fast=1&layer=mapnik

Bei yournavigation.org bitte beachten, dass dort der Datenstand von September 2014 ist … also für OSM-Verhältnisse schon sehr veraltet"

Hilft dir vielleicht sonst das “Kombi-Produkt” http://www.liedman.net/leaflet-routing-machine/ weiter?

Das Kombiprodukt würde mir wohl ausreichen, aber ich bekomms nicht implementiert.

Bei den Open Source Routern gefällt mir GraphHopper sehr gut, aber versteh ich das richtig, daß ich den (z.b.) JSON-Output dann irgendwie selber noch als Weg in der Karte bzw. als Strecken-“Text” umsetzen muß? (Ganz schön schwierig :/)

Bei http://www.yournavigation.org/index.php finde ich toll, dass man Start- und Zielpunkt per Mausklick setzen kann.

Bei GraphHopper finde ich klasse, dass es bei der Eingabe von Start und Ziel ein Autocomplete mit Vorschlagliste hat.

Kolibri

Ich habe im letzten halben Jahr diese Routing Maschine genutzt und sie funktioniert einwandfrei.

Aber jetzt tut sie es nicht mehr, obwohl ich nichts geändert habe. Einfach von heute auf morgen tat sie es nicht mehr. Und zwar klappt der Routing-Container gar nicht mehr auf (Der ist nur noch als schmale Linie erkennbar). Auch die Route, die zuvor als rote Linie sichtbar war, ist nicht mehr zu sehen.

Eingebunden habe ich das Plugin so:


<link rel="stylesheet" href="./leaflet/routingmachine/leaflet-routing-machine.css" />
<script src="./leaflet/routingmachine/leaflet-routing-machine.js"></script>

...


<script type="text/javascript">
L.Routing.control({
    language: 'de',
    waypoints: [
    L.latLng(50.189123, 6.713321),
    L.latLng(51.1018081455, 6.1631526599)
  ]
}).addTo(map);

...


Ich weiß nicht, wo ich bei der Fehlersuche ansetzen soll. Die Dateien (css sowie js) sind erreichbar.

Wer kann mir helfen?

Gruß, Kolibri

Ich kann dir da leider nicht konkret helfen,

aber versuch doch mal den Autor Per Liedman via email zu erreichen,
oder mach auf github ein Issue dafür auf:

https://github.com/perliedman/leaflet-routing-machine

Danke für den Tip. Ich habe jetzt erstmal die neueste Version installiert, seitdem funktioniert wieder alles.
Bischen seltsam. Ich finde nicht, dass Updates von Software veranlassen sollten, dass ältere Versionen nicht mehr funktionieren…
Gruß, Kolibri