• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Afstand tussen Postcodes: Snelste / Kortste

Status
Niet open voor verdere reacties.

Piet Bom

Verenigingslid
Lid geworden
13 nov 2010
Berichten
786
Ik heb ooit een code gevonden om via Google Maps de afstand te berekenen tussen 2 postcodes.
Ik vraag me af of deze code gebruikt kan worden voor de Snelste route en voor de Kortste route.
Wie kan mij helpen ?
 

Bijlagen

Kijk eens hier..

D.m.v. een UDF kan je de reisafstand berekenen tussen twee locaties over de wereld. De locaties kunnen ingevoerd worden net als dat je ze bij google maps in voert.
 
@Ndam90,
Dat is zeker een mooie oplossing, echter ik zie geen optie bij voor snelste of kortste route.
Zie bijlage.............
 

Bijlagen

Code:
[SIZE=1]Public Function Shortest(strOrigin As String, strDestination As String) As Variant    'meters
    Dim lngDistance As Long
    Dim objResult As Object
    Dim strResponseXML As String
    Dim strStatus As String
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", "http://maps.googleapis.com/maps/api/directions/xml?origin=" & strOrigin & "&destination=" & strDestination & "&alternatives=true&language=nl&units=metric&sensor=false", False 'am_2015
            .Send
            If .Status = 200 Then
                strResponseXML = .ResponseText
                With CreateObject("MSXML2.DOMDOCUMENT")
                    .LoadXML strResponseXML
                    strStatus = .SelectSingleNode("//status").Text
                    If strStatus = "OK" Then
                        Shortest = 9E+18
                        For Each objResult In .SelectNodes("//leg/distance/value")
                            lngDistance = CLng(objResult.Text)
                            If lngDistance < Shortest Then
                                Shortest = lngDistance
                            End If
                        Next
                    Else
                        Shortest = strStatus
                    End If
                End With
            Else
                Shortest = "ERROR"
            End If
        End With
End Function[/SIZE]

Code:
[SIZE=1]Public Function Fastest(strOrigin As String, strDestination As String) As Variant    'seconds
    Dim lngDuration As Long
    Dim objResult As Object
    Dim strResponseXML As String
    Dim strStatus As String
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", "http://maps.googleapis.com/maps/api/directions/xml?origin=" & strOrigin & "&destination=" & strDestination & "&alternatives=true&language=nl&units=metric&sensor=false", False  'am_2015
            .Send
            If .Status = 200 Then
                strResponseXML = .ResponseText
                With CreateObject("MSXML2.DOMDOCUMENT")
                    .LoadXML strResponseXML
                    strStatus = .SelectSingleNode("//status").Text
                    If strStatus = "OK" Then
                        Fastest = 9E+18
                        For Each objResult In .SelectNodes("//leg/duration/value")
                            lngDuration = CLng(objResult.Text)
                            If lngDuration < Fastest Then
                                Fastest = lngDuration
                            End If
                        Next
                    Else
                        Fastest = strStatus
                    End If
                End With
            Else
                Fastest = "ERROR"
            End If
        End With
End Function
[/SIZE]
 
@alphamax,
Sorry voor de late reactie.
Bedankt voor de mooie oplossing.
Ik kan er verder mee.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan