Distanz zu Kunden bzw. Lieferantenadresse berechnen

10. Juni 2015 10:59

Hallo,
wir möchten gern ein Feld bei den Stammdaten für die Kunden bzw. Lieferanten einfügen, welches die Distanz (in Kilometer) beinhaltet.
Nun würde ich gerne ein Funktion schreiben, welche dies errechnet. Sollte die kürzte Strecke auf der Strasse als Distanz errechnen.

Wie könnte ich so etwas machen.

lg
stony

Re: Distanz zu Kunden bzw. Lieferantenadresse berechnen

10. Juni 2015 11:20

Eine grundlegende Idee von mir wäre ein Programm in .NET zu schreiben, welches das machen kann und das dann nur aus C/AL aufzurufen mit den entsprechenden Parametern.
Das .NET Programm müsste dann einen Request an Google Maps o.ä. senden und die Entfernung als Response holen.

Grundsätzlich ist das in NAV nicht möglich. Du kannst aber sich über einen Web Request (insofern google maps das unterstützt) bzw. könntest du dich schlau machen ob die API von Google das her gibt.

Re: Distanz zu Kunden bzw. Lieferantenadresse berechnen

10. Juni 2015 11:32

Man benötigt nicht unbedingt ein .NET-Programm.
Man kann auch eine entsprechende URL an die Google Maps API schicken und erhält dann als Antwort ein XML-File, welches man mit einem XMLport einliest.

Leider hat Google in seinen Lizenzbestimmungen einen kleinen Haken:
Das Ergebnis der Google Maps API muss zwingend visualisiert werden.
Da wir hier über NAV2013 sprechen, könnte man sich ein kleines Browser-AddIn schreiben, welches man dann auf der Debitor- und Kreditor-Page einbindet und das Ergebnis in einer Google Maps Karte anzeigt.
(Unter dem alten Classic Client müsste man dafür jedesmal den Browser per Hyperlink öffnen, was nicht wirklich praktikabel wäre.)

Ähnliches dürfte wahrscheinlich auch mit Bing funktionieren.
Dort soll es angeblich nicht erforderlich sein, das Ergebnis der API zu visualisieren.

Ein Kunde von mir hat diese Anforderung sogar mittels OpenStreetMap gelöst.