component_filtering

in abap-sdk/ZGOOG_SDK_QUICKSTART/zr_qs_geocode.prog.abap [0:0]


   METHOD component_filtering.
     DATA: lv_q_address    TYPE string,
           lt_q_components TYPE /goog/cl_geocode=>ty_t_string.

     WRITE: |Component filtering: Restrict the results to a specific country, postal code, or locality.|.
     ULINE.

* Populate relevant parameters
     lv_q_address = 'High St hasting'.
     lt_q_components = VALUE #( ( |country:GB| ) ).

* Call API method: org.openapitools.api.GeocodingAPI
     CALL METHOD mo_geocode->geocode
       EXPORTING
         iv_q_address    = lv_q_address
         it_q_components = lt_q_components
       IMPORTING
         es_output       = DATA(ls_output)
         ev_ret_code     = DATA(lv_ret_code)
         ev_err_text     = DATA(lv_err_text)
         es_err_resp     = DATA(ls_err_resp).

     IF mo_geocode->is_success( lv_ret_code ) AND mo_geocode->is_status_ok( ).
       WRITE: / |Geocode Lookup Successful|.
       TRY.
           WRITE:/ |Address: { ls_output-results[ 1 ]-formatted_address }|.
           WRITE:/ |Latitude, Longitude: ({ ls_output-results[ 1 ]-geometry-location-lat }, { ls_output-results[ 1 ]-geometry-location-lng })|.
         CATCH cx_sy_itab_line_not_found.
       ENDTRY.
     ELSE.
       MESSAGE lv_err_text TYPE 'E'.
     ENDIF.