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.