Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual Basic 6.0) Google Maps Geolocation RequestDemonstrates how make a Google Maps Geolocation REST API request.
' This example duplicates the following CURL request: ' curl -d @your_filename.json -H "Content-Type: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY" ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim rest As New ChilkatRest ' Connect to the Google API REST server. Dim bTls As Long bTls = 1 Dim port As Long port = 443 Dim bAutoReconnect As Long bAutoReconnect = 1 Dim success As Long success = rest.Connect("www.googleapis.com",port,bTls,bAutoReconnect) ' Add the Content-Type request header. success = rest.AddHeader("Content-Type","application/json") ' Add your API key as a query parameter success = rest.AddQueryParam("key","YOUR_API_KEY") ' The JSON query is contained in the body of the HTTP POST. ' This is a sample query (which we'll dynamically build in this example) ' { ' "homeMobileCountryCode": 310, ' "homeMobileNetworkCode": 260, ' "radioType": "gsm", ' "carrier": "T-Mobile", ' "cellTowers": [ ' { ' "cellId": 39627456, ' "locationAreaCode": 40495, ' "mobileCountryCode": 310, ' "mobileNetworkCode": 260, ' "age": 0, ' "signalStrength": -95 ' } ' ], ' "wifiAccessPoints": [ ' { ' "macAddress": "01:23:45:67:89:AB", ' "signalStrength": 8, ' "age": 0, ' "signalToNoiseRatio": -65, ' "channel": 8 ' }, ' { ' "macAddress": "01:23:45:67:89:AC", ' "signalStrength": 4, ' "age": 0 ' } ' ] ' } Dim json As New ChilkatJsonObject success = json.AppendInt("homeMobileCountryCode",310) success = json.AppendInt("homeMobileNetworkCode",260) success = json.AppendString("radioType","gsm") success = json.AppendString("carrier","T-Mobile") Dim aCellTowers As ChilkatJsonArray Set aCellTowers = json.AppendArray("cellTowers") success = aCellTowers.AddObjectAt(0) Dim oCellTower As ChilkatJsonObject Set oCellTower = aCellTowers.ObjectAt(0) success = oCellTower.AppendInt("cellId",39627456) success = oCellTower.AppendInt("locationAreaCode",40495) success = oCellTower.AppendInt("mobileCountryCode",310) success = oCellTower.AppendInt("mobileNetworkCode",260) success = oCellTower.AppendInt("age",0) success = oCellTower.AppendInt("signalStrength",-95) Dim aWifi As ChilkatJsonArray Set aWifi = json.AppendArray("wifiAccessPoints") success = aWifi.AddObjectAt(0) Dim oPoint As ChilkatJsonObject Set oPoint = aWifi.ObjectAt(0) success = oPoint.AppendString("macAddress","01:23:45:67:89:AB") success = oPoint.AppendInt("signalStrength",8) success = oPoint.AppendInt("age",0) success = oPoint.AppendInt("signalToNoiseRatio",-65) success = oPoint.AppendInt("channel",8) success = aWifi.AddObjectAt(1) Set oPoint = aWifi.ObjectAt(1) success = oPoint.AppendString("macAddress","01:23:45:67:89:AC") success = oPoint.AppendInt("signalStrength",4) success = oPoint.AppendInt("age",0) Dim responseJson As String responseJson = rest.FullRequestString("POST","/geolocation/v1/geolocate",json.Emit()) If (rest.LastMethodSuccess <> 1) Then Debug.Print rest.LastErrorText Exit Sub End If ' When successful, the response code is 200. If (rest.ResponseStatusCode <> 200) Then ' Examine the request/response to see what happened. Debug.Print "response status code = " & rest.ResponseStatusCode Debug.Print "response status text = " & rest.ResponseStatusText Debug.Print "response header: " & rest.ResponseHeader Debug.Print "response JSON: " & responseJson Debug.Print "---" Debug.Print "LastRequestStartLine: " & rest.LastRequestStartLine Debug.Print "LastRequestHeader: " & rest.LastRequestHeader Exit Sub End If json.EmitCompact = 0 Debug.Print "JSON request body: " & json.Emit() ' The JSON response should look like this: ' { ' "location": { ' "lat": 37.4248297, ' "lng": -122.07346549999998 ' }, ' "accuracy": 1145.0 ' } Debug.Print "JSON response: " & responseJson Dim jsonResp As New ChilkatJsonObject success = jsonResp.Load(responseJson) Dim jsonLoc As ChilkatJsonObject Set jsonLoc = jsonResp.ObjectOf("location") ' Any JSON value can be obtained as a string.. Dim latitude As String latitude = jsonLoc.StringOf("lat") Debug.Print "latitude = " & latitude Dim longitude As String longitude = jsonLoc.StringOf("lng") Debug.Print "longitude = " & longitude Dim accuracy As String accuracy = jsonResp.StringOf("accuracy") Debug.Print "accuracy = " & accuracy |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.