Sample code for 30+ languages & platforms
DataFlex

Azure Maps Get Search Address

See more Azure Maps Examples

Get information for a given address.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoHttp
    String sUrl
    Boolean iSuccess
    String sStrResp
    Handle hoJsonResponse
    String sSummaryQuery
    String sSummaryQueryType
    Integer iSummaryQueryTime
    Integer iSummaryNumResults
    Integer iSummaryOffset
    Integer iSummaryTotalResults
    Integer iSummaryFuzzyLevel
    Integer i
    Integer iCount_i
    String sV_type
    String sId
    String sScore
    String sAddressStreetNumber
    String sAddressStreetName
    String sAddressMunicipalitySubdivision
    String sAddressMunicipality
    String sAddressCountrySecondarySubdivision
    String sAddressCountryTertiarySubdivision
    String sAddressCountrySubdivision
    String sAddressPostalCode
    String sAddressExtendedPostalCode
    String sAddressCountryCode
    String sAddressCountry
    String sAddressCountryCodeISO3
    String sAddressFreeformAddress
    String sAddressCountrySubdivisionName
    String sPositionLat
    String sPositionLon
    String sViewportTopLeftPointLat
    String sViewportTopLeftPointLon
    String sViewportBtmRightPointLat
    String sViewportBtmRightPointLon
    Integer j
    Integer iCount_j
    String sTemp1
    Integer iTemp1
    Boolean bTemp1

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    Set ComAccept Of hoHttp To "application/json"

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

    Get ComSetUrlVar Of hoHttp "format" "json" To iSuccess
    Get ComSetUrlVar Of hoHttp "query" "15127 NE 24th Street, Redmond, WA 98052" To iSuccess

    Get ComQuickGetStr Of hoHttp sUrl To sStrResp
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 <> True) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComLastStatus Of hoHttp To iTemp1
    Showln "Response Status Code: " iTemp1

    Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResponse
    If (Not(IsComObjectCreated(hoJsonResponse))) Begin
        Send CreateComObject of hoJsonResponse
    End
    Get ComLoad Of hoJsonResponse sStrResp To iSuccess
    Set ComEmitCompact Of hoJsonResponse To False
    Get ComEmit Of hoJsonResponse To sTemp1
    Showln sTemp1

    Get ComLastStatus Of hoHttp To iTemp1
    If (iTemp1 <> 200) Begin
        Showln "Failed."
        Procedure_Return
    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
    //           }
    //         }
    //       ]
    //     }
    //   ]
    // }
    // 

    Get ComStringOf Of hoJsonResponse "summary.query" To sSummaryQuery
    Get ComStringOf Of hoJsonResponse "summary.queryType" To sSummaryQueryType
    Get ComIntOf Of hoJsonResponse "summary.queryTime" To iSummaryQueryTime
    Get ComIntOf Of hoJsonResponse "summary.numResults" To iSummaryNumResults
    Get ComIntOf Of hoJsonResponse "summary.offset" To iSummaryOffset
    Get ComIntOf Of hoJsonResponse "summary.totalResults" To iSummaryTotalResults
    Get ComIntOf Of hoJsonResponse "summary.fuzzyLevel" To iSummaryFuzzyLevel
    Move 0 To i
    Get ComSizeOfArray Of hoJsonResponse "results" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJsonResponse To i
        Get ComStringOf Of hoJsonResponse "results[i].type" To sV_type
        Get ComStringOf Of hoJsonResponse "results[i].id" To sId
        Get ComStringOf Of hoJsonResponse "results[i].score" To sScore
        Get ComStringOf Of hoJsonResponse "results[i].address.streetNumber" To sAddressStreetNumber
        Get ComStringOf Of hoJsonResponse "results[i].address.streetName" To sAddressStreetName
        Get ComStringOf Of hoJsonResponse "results[i].address.municipalitySubdivision" To sAddressMunicipalitySubdivision
        Get ComStringOf Of hoJsonResponse "results[i].address.municipality" To sAddressMunicipality
        Get ComStringOf Of hoJsonResponse "results[i].address.countrySecondarySubdivision" To sAddressCountrySecondarySubdivision
        Get ComStringOf Of hoJsonResponse "results[i].address.countryTertiarySubdivision" To sAddressCountryTertiarySubdivision
        Get ComStringOf Of hoJsonResponse "results[i].address.countrySubdivision" To sAddressCountrySubdivision
        Get ComStringOf Of hoJsonResponse "results[i].address.postalCode" To sAddressPostalCode
        Get ComStringOf Of hoJsonResponse "results[i].address.extendedPostalCode" To sAddressExtendedPostalCode
        Get ComStringOf Of hoJsonResponse "results[i].address.countryCode" To sAddressCountryCode
        Get ComStringOf Of hoJsonResponse "results[i].address.country" To sAddressCountry
        Get ComStringOf Of hoJsonResponse "results[i].address.countryCodeISO3" To sAddressCountryCodeISO3
        Get ComStringOf Of hoJsonResponse "results[i].address.freeformAddress" To sAddressFreeformAddress
        Get ComStringOf Of hoJsonResponse "results[i].address.countrySubdivisionName" To sAddressCountrySubdivisionName
        Get ComStringOf Of hoJsonResponse "results[i].position.lat" To sPositionLat
        Get ComStringOf Of hoJsonResponse "results[i].position.lon" To sPositionLon
        Get ComStringOf Of hoJsonResponse "results[i].viewport.topLeftPoint.lat" To sViewportTopLeftPointLat
        Get ComStringOf Of hoJsonResponse "results[i].viewport.topLeftPoint.lon" To sViewportTopLeftPointLon
        Get ComStringOf Of hoJsonResponse "results[i].viewport.btmRightPoint.lat" To sViewportBtmRightPointLat
        Get ComStringOf Of hoJsonResponse "results[i].viewport.btmRightPoint.lon" To sViewportBtmRightPointLon
        Move 0 To j
        Get ComSizeOfArray Of hoJsonResponse "results[i].entryPoints" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJsonResponse To j
            Get ComStringOf Of hoJsonResponse "results[i].entryPoints[j].type" To sV_type
            Get ComStringOf Of hoJsonResponse "results[i].entryPoints[j].position.lat" To sPositionLat
            Get ComStringOf Of hoJsonResponse "results[i].entryPoints[j].position.lon" To sPositionLon
            Move (j + 1) To j
        Loop

        Move (i + 1) To i
    Loop



End_Procedure