neu
This commit is contained in:
64
VERAG_PROG_ALLGEMEIN/Google/cGoogleAPI.vb
Normal file
64
VERAG_PROG_ALLGEMEIN/Google/cGoogleAPI.vb
Normal file
@@ -0,0 +1,64 @@
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports System.Web
|
||||
Imports System.Text
|
||||
|
||||
Public Class cGoogleAPI
|
||||
|
||||
Public Shared APIKEY_distancematrix As String = "AIzaSyAyXX4aYtoE_v0tXhmuiApV6Qo2Ka2ObJY"
|
||||
|
||||
|
||||
Public Shared Sub test()
|
||||
Dim duration = ""
|
||||
Dim distance = ""
|
||||
Dim distanceSek = ""
|
||||
|
||||
GoogleDistance("A 4975 Suben 100", "A st. marienkirchen Hackenbuch 27", duration, distanceSek, distance)
|
||||
MsgBox(duration)
|
||||
MsgBox(distance)
|
||||
|
||||
End Sub
|
||||
Public Shared Sub GoogleDistance(origin As String, destination As String, ByRef duration As Object, ByRef distance As Object, Optional lkw As Boolean = True)
|
||||
Try
|
||||
|
||||
Dim url As String = "https://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & HttpUtility.UrlEncode(origin) & "&destinations=" + HttpUtility.UrlEncode(destination) & "&key=" & APIKEY_distancematrix
|
||||
' MsgBox(url)
|
||||
Dim request As WebRequest = WebRequest.Create(url)
|
||||
Dim response As WebResponse = CType(request.GetResponse(), HttpWebResponse)
|
||||
Dim reader As StreamReader = New StreamReader(response.GetResponseStream(), Encoding.UTF8)
|
||||
Dim dsResult As DataSet = New DataSet()
|
||||
dsResult.ReadXml(reader)
|
||||
|
||||
If lkw Then
|
||||
Dim durationSek As Integer = 0
|
||||
If dsResult.Tables("duration") Is Nothing Then
|
||||
durationSek = 0
|
||||
Else
|
||||
durationSek = dsResult.Tables("duration").Rows(0)("value").ToString()
|
||||
End If
|
||||
If IsNumeric(durationSek) Then
|
||||
durationSek = durationSek * 1.5 ' Bei LKW wird die Zeit um diesen Faktor hochgerechnet
|
||||
Dim iSpan As TimeSpan = TimeSpan.FromSeconds(durationSek)
|
||||
duration = iSpan.Hours.ToString.PadLeft(2, "0"c) & " Stunden " & iSpan.Minutes.ToString.PadLeft(2, "0"c) & " Minuten"
|
||||
End If
|
||||
Else
|
||||
If dsResult.Tables("duration") Is Nothing Then
|
||||
duration = ""
|
||||
Else
|
||||
duration = dsResult.Tables("duration").Rows(0)("text").ToString()
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If dsResult.Tables("distance") Is Nothing Then
|
||||
distance = ""
|
||||
Else
|
||||
distance = dsResult.Tables("distance").Rows(0)("text").ToString()
|
||||
End If
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user