Sample code for 30+ languages & platforms
Objective-C

Azure Maps Get Search Address

See more Azure Maps Examples

Get information for a given address.

Chilkat Objective-C Downloads

Objective-C
#import <CkoHttp.h>
#import <NSString.h>
#import <CkoJsonObject.h>

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

CkoHttp *http = [[CkoHttp alloc] init];

http.Accept = @"application/json";

NSString *url = @"https://atlas.microsoft.com/search/address/{$format}?subscription-key=[subscription-key]&api-version=1.0&query={$query}";

[http SetUrlVar: @"format" value: @"json"];
[http SetUrlVar: @"query" value: @"15127 NE 24th Street, Redmond, WA 98052"];

NSString *strResp = [http QuickGetStr: url];
if (http.LastMethodSuccess != YES) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%@%d",@"Response Status Code: ",[http.LastStatus intValue]);

CkoJsonObject *jsonResponse = [[CkoJsonObject alloc] init];
[jsonResponse Load: strResp];
jsonResponse.EmitCompact = NO;
NSLog(@"%@",[jsonResponse Emit]);

if ([http.LastStatus intValue] != 200) {
    NSLog(@"%@",@"Failed.");
    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
//           }
//         }
//       ]
//     }
//   ]
// }
// 

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

summaryQuery = [jsonResponse StringOf: @"summary.query"];
summaryQueryType = [jsonResponse StringOf: @"summary.queryType"];
summaryQueryTime = [[jsonResponse IntOf: @"summary.queryTime"] intValue];
summaryNumResults = [[jsonResponse IntOf: @"summary.numResults"] intValue];
summaryOffset = [[jsonResponse IntOf: @"summary.offset"] intValue];
summaryTotalResults = [[jsonResponse IntOf: @"summary.totalResults"] intValue];
summaryFuzzyLevel = [[jsonResponse IntOf: @"summary.fuzzyLevel"] intValue];
i = 0;
count_i = [[jsonResponse SizeOfArray: @"results"] intValue];
while (i < count_i) {
    jsonResponse.I = [NSNumber numberWithInt: 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"] intValue];
    while (j < count_j) {
        jsonResponse.J = [NSNumber numberWithInt: 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;
}