Sample code for 30+ languages & platforms
Swift

Azure Maps Get Search Address

See more Azure Maps Examples

Get information for a given address.

Chilkat Swift Downloads

Swift

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

    let http = CkoHttp()!

    http.accept = "application/json"

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

    http.setUrlVar(name: "format", value: "json")
    http.setUrlVar(name: "query", value: "15127 NE 24th Street, Redmond, WA 98052")

    var strResp: String? = http.quickGetStr(url: url)
    if http.lastMethodSuccess != true {
        print("\(http.lastErrorText!)")
        return
    }

    print("Response Status Code: \(http.lastStatus.intValue)")

    let jsonResponse = CkoJsonObject()!
    jsonResponse.load(json: strResp)
    jsonResponse.emitCompact = false
    print("\(jsonResponse.emit()!)")

    if http.lastStatus.intValue != 200 {
        print("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
    //           }
    //         }
    //       ]
    //     }
    //   ]
    // }
    // 

    var summaryQuery: String?
    var summaryQueryType: String?
    var summaryQueryTime: Int
    var summaryNumResults: Int
    var summaryOffset: Int
    var summaryTotalResults: Int
    var summaryFuzzyLevel: Int
    var i: Int
    var count_i: Int
    var v_type: String?
    var id: String?
    var score: String?
    var addressStreetNumber: String?
    var addressStreetName: String?
    var addressMunicipalitySubdivision: String?
    var addressMunicipality: String?
    var addressCountrySecondarySubdivision: String?
    var addressCountryTertiarySubdivision: String?
    var addressCountrySubdivision: String?
    var addressPostalCode: String?
    var addressExtendedPostalCode: String?
    var addressCountryCode: String?
    var addressCountry: String?
    var addressCountryCodeISO3: String?
    var addressFreeformAddress: String?
    var addressCountrySubdivisionName: String?
    var positionLat: String?
    var positionLon: String?
    var viewportTopLeftPointLat: String?
    var viewportTopLeftPointLon: String?
    var viewportBtmRightPointLat: String?
    var viewportBtmRightPointLon: String?
    var j: Int
    var count_j: Int

    summaryQuery = jsonResponse.string(of: "summary.query")
    summaryQueryType = jsonResponse.string(of: "summary.queryType")
    summaryQueryTime = jsonResponse.int(of: "summary.queryTime").intValue
    summaryNumResults = jsonResponse.int(of: "summary.numResults").intValue
    summaryOffset = jsonResponse.int(of: "summary.offset").intValue
    summaryTotalResults = jsonResponse.int(of: "summary.totalResults").intValue
    summaryFuzzyLevel = jsonResponse.int(of: "summary.fuzzyLevel").intValue
    i = 0
    count_i = jsonResponse.size(ofArray: "results").intValue
    while i < count_i {
        jsonResponse.i = i
        v_type = jsonResponse.string(of: "results[i].type")
        id = jsonResponse.string(of: "results[i].id")
        score = jsonResponse.string(of: "results[i].score")
        addressStreetNumber = jsonResponse.string(of: "results[i].address.streetNumber")
        addressStreetName = jsonResponse.string(of: "results[i].address.streetName")
        addressMunicipalitySubdivision = jsonResponse.string(of: "results[i].address.municipalitySubdivision")
        addressMunicipality = jsonResponse.string(of: "results[i].address.municipality")
        addressCountrySecondarySubdivision = jsonResponse.string(of: "results[i].address.countrySecondarySubdivision")
        addressCountryTertiarySubdivision = jsonResponse.string(of: "results[i].address.countryTertiarySubdivision")
        addressCountrySubdivision = jsonResponse.string(of: "results[i].address.countrySubdivision")
        addressPostalCode = jsonResponse.string(of: "results[i].address.postalCode")
        addressExtendedPostalCode = jsonResponse.string(of: "results[i].address.extendedPostalCode")
        addressCountryCode = jsonResponse.string(of: "results[i].address.countryCode")
        addressCountry = jsonResponse.string(of: "results[i].address.country")
        addressCountryCodeISO3 = jsonResponse.string(of: "results[i].address.countryCodeISO3")
        addressFreeformAddress = jsonResponse.string(of: "results[i].address.freeformAddress")
        addressCountrySubdivisionName = jsonResponse.string(of: "results[i].address.countrySubdivisionName")
        positionLat = jsonResponse.string(of: "results[i].position.lat")
        positionLon = jsonResponse.string(of: "results[i].position.lon")
        viewportTopLeftPointLat = jsonResponse.string(of: "results[i].viewport.topLeftPoint.lat")
        viewportTopLeftPointLon = jsonResponse.string(of: "results[i].viewport.topLeftPoint.lon")
        viewportBtmRightPointLat = jsonResponse.string(of: "results[i].viewport.btmRightPoint.lat")
        viewportBtmRightPointLon = jsonResponse.string(of: "results[i].viewport.btmRightPoint.lon")
        j = 0
        count_j = jsonResponse.size(ofArray: "results[i].entryPoints").intValue
        while j < count_j {
            jsonResponse.j = j
            v_type = jsonResponse.string(of: "results[i].entryPoints[j].type")
            positionLat = jsonResponse.string(of: "results[i].entryPoints[j].position.lat")
            positionLon = jsonResponse.string(of: "results[i].entryPoints[j].position.lon")
            j = j + 1
        }

        i = i + 1
    }


}