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