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
(Perl) Azure Maps Get Search AddressGet information for a given address. For more information, see https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress
use chilkat(); # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $http = chilkat::CkHttp->new(); $http->put_Accept("application/json"); $url = "https://atlas.microsoft.com/search/address/{$format}?subscription-key=[subscription-key]&api-version=1.0&query={$query}"; $http->SetUrlVar("format","json"); $http->SetUrlVar("query","15127 NE 24th Street, Redmond, WA 98052"); $strResp = $http->quickGetStr($url); if ($http->get_LastMethodSuccess() != 1) { print $http->lastErrorText() . "\r\n"; exit; } print "Response Status Code: " . $http->get_LastStatus() . "\r\n"; $jsonResponse = chilkat::CkJsonObject->new(); $jsonResponse->Load($strResp); $jsonResponse->put_EmitCompact(0); print $jsonResponse->emit() . "\r\n"; if ($http->get_LastStatus() != 200) { print "Failed." . "\r\n"; exit; } # Sample output... # (See the parsing code below..) # # Use this online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON # { # "summary": { # "query": "15127 NE 24th Street, Redmond, WA 98052", # "queryType": "NON_NEAR", # "queryTime": 58, # "numResults": 1, # "offset": 0, # "totalResults": 1, # "fuzzyLevel": 1 # }, # "results": [ # { # "type": "Point Address", # "id": "US/PAD/p0/19173426", # "score": 14.51, # "address": { # "streetNumber": "15127", # "streetName": "NE 24th St", # "municipalitySubdivision": "Redmond", # "municipality": "Redmond, Adelaide, Ames Lake, Avondale, Earlmount", # "countrySecondarySubdivision": "King", # "countryTertiarySubdivision": "Seattle East", # "countrySubdivision": "WA", # "postalCode": "98052", # "extendedPostalCode": "980525544", # "countryCode": "US", # "country": "United States Of America", # "countryCodeISO3": "USA", # "freeformAddress": "15127 NE 24th St, Redmond, WA 980525544", # "countrySubdivisionName": "Washington" # }, # "position": { # "lat": 47.6308, # "lon": -122.1385 # }, # "viewport": { # "topLeftPoint": { # "lat": 47.6317, # "lon": -122.13983 # }, # "btmRightPoint": { # "lat": 47.6299, # "lon": -122.13717 # } # }, # "entryPoints": [ # { # "type": "main", # "position": { # "lat": 47.6315, # "lon": -122.13852 # } # } # ] # } # ] # } # $summaryQuery = $jsonResponse->stringOf("summary.query"); $summaryQueryType = $jsonResponse->stringOf("summary.queryType"); $summaryQueryTime = $jsonResponse->IntOf("summary.queryTime"); $summaryNumResults = $jsonResponse->IntOf("summary.numResults"); $summaryOffset = $jsonResponse->IntOf("summary.offset"); $summaryTotalResults = $jsonResponse->IntOf("summary.totalResults"); $summaryFuzzyLevel = $jsonResponse->IntOf("summary.fuzzyLevel"); $i = 0; $count_i = $jsonResponse->SizeOfArray("results"); while ($i < $count_i) { $jsonResponse->put_I($i); $v_type = $jsonResponse->stringOf("results[i].type"); $id = $jsonResponse->stringOf("results[i].id"); $score = $jsonResponse->stringOf("results[i].score"); $addressStreetNumber = $jsonResponse->stringOf("results[i].address.streetNumber"); $addressStreetName = $jsonResponse->stringOf("results[i].address.streetName"); $addressMunicipalitySubdivision = $jsonResponse->stringOf("results[i].address.municipalitySubdivision"); $addressMunicipality = $jsonResponse->stringOf("results[i].address.municipality"); $addressCountrySecondarySubdivision = $jsonResponse->stringOf("results[i].address.countrySecondarySubdivision"); $addressCountryTertiarySubdivision = $jsonResponse->stringOf("results[i].address.countryTertiarySubdivision"); $addressCountrySubdivision = $jsonResponse->stringOf("results[i].address.countrySubdivision"); $addressPostalCode = $jsonResponse->stringOf("results[i].address.postalCode"); $addressExtendedPostalCode = $jsonResponse->stringOf("results[i].address.extendedPostalCode"); $addressCountryCode = $jsonResponse->stringOf("results[i].address.countryCode"); $addressCountry = $jsonResponse->stringOf("results[i].address.country"); $addressCountryCodeISO3 = $jsonResponse->stringOf("results[i].address.countryCodeISO3"); $addressFreeformAddress = $jsonResponse->stringOf("results[i].address.freeformAddress"); $addressCountrySubdivisionName = $jsonResponse->stringOf("results[i].address.countrySubdivisionName"); $positionLat = $jsonResponse->stringOf("results[i].position.lat"); $positionLon = $jsonResponse->stringOf("results[i].position.lon"); $viewportTopLeftPointLat = $jsonResponse->stringOf("results[i].viewport.topLeftPoint.lat"); $viewportTopLeftPointLon = $jsonResponse->stringOf("results[i].viewport.topLeftPoint.lon"); $viewportBtmRightPointLat = $jsonResponse->stringOf("results[i].viewport.btmRightPoint.lat"); $viewportBtmRightPointLon = $jsonResponse->stringOf("results[i].viewport.btmRightPoint.lon"); $j = 0; $count_j = $jsonResponse->SizeOfArray("results[i].entryPoints"); while ($j < $count_j) { $jsonResponse->put_J($j); $v_type = $jsonResponse->stringOf("results[i].entryPoints[j].type"); $positionLat = $jsonResponse->stringOf("results[i].entryPoints[j].position.lat"); $positionLon = $jsonResponse->stringOf("results[i].entryPoints[j].position.lon"); $j = $j + 1; } $i = $i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.