Sample code for 30+ languages & platforms
C++

Azure Maps Get Search Address

See more Azure Maps Examples

Get information for a given address.

Chilkat C++ Downloads

C++
#include <CkHttp.h>
#include <CkJsonObject.h>

void ChilkatSample(void)
    {
    //  This example requires the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    CkHttp http;

    http.put_Accept("application/json");

    const char *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");

    const char *strResp = http.quickGetStr(url);
    if (http.get_LastMethodSuccess() != true) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "Response Status Code: " << http.get_LastStatus() << "\r\n";

    CkJsonObject jsonResponse;
    jsonResponse.Load(strResp);
    jsonResponse.put_EmitCompact(false);
    std::cout << jsonResponse.emit() << "\r\n";

    if (http.get_LastStatus() != 200) {
        std::cout << "Failed." << "\r\n";
        return;
    }

    //  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
    //            }
    //          }
    //        ]
    //      }
    //    ]
    //  }
    //  

    const char *summaryQuery = 0;
    const char *summaryQueryType = 0;
    int summaryQueryTime;
    int summaryNumResults;
    int summaryOffset;
    int summaryTotalResults;
    int summaryFuzzyLevel;
    int i;
    int count_i;
    const char *v_type = 0;
    const char *id = 0;
    const char *score = 0;
    const char *addressStreetNumber = 0;
    const char *addressStreetName = 0;
    const char *addressMunicipalitySubdivision = 0;
    const char *addressMunicipality = 0;
    const char *addressCountrySecondarySubdivision = 0;
    const char *addressCountryTertiarySubdivision = 0;
    const char *addressCountrySubdivision = 0;
    const char *addressPostalCode = 0;
    const char *addressExtendedPostalCode = 0;
    const char *addressCountryCode = 0;
    const char *addressCountry = 0;
    const char *addressCountryCodeISO3 = 0;
    const char *addressFreeformAddress = 0;
    const char *addressCountrySubdivisionName = 0;
    const char *positionLat = 0;
    const char *positionLon = 0;
    const char *viewportTopLeftPointLat = 0;
    const char *viewportTopLeftPointLon = 0;
    const char *viewportBtmRightPointLat = 0;
    const char *viewportBtmRightPointLon = 0;
    int j;
    int count_j;

    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;
    }
    }