place_id_geocoding

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


   METHOD place_id_geocoding.

     DATA: lv_q_place_id       TYPE string.
     WRITE: |Place ID geocoding: Convert a Place ID into an address or geographic coordinates.|.
     ULINE.

* Populate relevant parameters
     "A Place ID is a textual identifier that uniquely identifies a place.
     "It is a string of characters that is assigned to a place by Google Maps.
     lv_q_place_id = 'ChIJfTUzxX-F54gRQbkH5E4QhD8'.

* Call API method: org.openapitools.api.GeocodingAPI
     CALL METHOD mo_geocode->geocode
       EXPORTING
         iv_q_place_id = lv_q_place_id
       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.