Ruby
Ruby
Azure Maps Get Search Address
See more Azure Maps Examples
Get information for a given address.Chilkat Ruby Downloads
require '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() != true)
print http.lastErrorText() + "\n";
exit
end
print "Response Status Code: " + http.get_LastStatus().to_s() + "\n";
jsonResponse = Chilkat::CkJsonObject.new()
jsonResponse.Load(strResp)
jsonResponse.put_EmitCompact(false)
print jsonResponse.emit() + "\n";
if (http.get_LastStatus() != 200)
print "Failed." + "\n";
exit
end
# 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
end
i = i + 1
end