/AWS1/IF_LOC=>SEARCHPLACEINDEXFORPOSITION()¶
About SearchPlaceIndexForPosition¶
This operation is no longer current and may be deprecated in the future. We recommend you upgrade to The version 2 If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.ReverseGeocode or SearchNearby unless you require Grab data.
SearchPlaceIndexForPosition is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).ReverseGeocode operation gives better results in the address reverse-geocoding use case, while the version 2 SearchNearby operation gives better results when searching for businesses and points of interest near a specific location.geo-places or geo_places, not under location.
Reverse geocodes a given coordinate and returns a legible address. Allows you to search for Places or points of interest near a given position.
Method Signature¶
METHODS /AWS1/IF_LOC~SEARCHPLACEINDEXFORPOSITION
IMPORTING
!IV_INDEXNAME TYPE /AWS1/LOCRESOURCENAME OPTIONAL
!IT_POSITION TYPE /AWS1/CL_LOCPOSITION_W=>TT_POSITION OPTIONAL
!IV_MAXRESULTS TYPE /AWS1/LOCPLACEIDXSRCHRSLTLIMIT OPTIONAL
!IV_LANGUAGE TYPE /AWS1/LOCLANGUAGETAG OPTIONAL
!IV_KEY TYPE /AWS1/LOCAPIKEY OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_locsrchplaceidxforp01
RAISING
/AWS1/CX_LOCACCESSDENIEDEX
/AWS1/CX_LOCINTERNALSERVEREX
/AWS1/CX_LOCRESOURCENOTFOUNDEX
/AWS1/CX_LOCTHROTTLINGEX
/AWS1/CX_LOCVALIDATIONEX
/AWS1/CX_LOCCLIENTEXC
/AWS1/CX_LOCSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_indexname TYPE /AWS1/LOCRESOURCENAME /AWS1/LOCRESOURCENAME¶
The name of the place index resource you want to use for the search.
it_position TYPE /AWS1/CL_LOCPOSITION_W=>TT_POSITION TT_POSITION¶
Specifies the longitude and latitude of the position to query.
This parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.
For example,
[-123.1174, 49.2847]represents a position with longitude-123.1174and latitude49.2847.
Optional arguments:¶
iv_maxresults TYPE /AWS1/LOCPLACEIDXSRCHRSLTLIMIT /AWS1/LOCPLACEIDXSRCHRSLTLIMIT¶
An optional parameter. The maximum number of results returned per request.
Default value:
50
iv_language TYPE /AWS1/LOCLANGUAGETAG /AWS1/LOCLANGUAGETAG¶
The preferred language used to return results. The value must be a valid BCP 47 language tag, for example,
enfor English.This setting affects the languages used in the results, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.
For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the
languageparameter set toen. Thecityin the results will most likely be returned asAthens.If you set the
languageparameter toel, for Greek, then thecityin the results will more likely be returned asΑθήνα.If the data provider does not have a value for Greek, the result will be in a language that the provider does support.
iv_key TYPE /AWS1/LOCAPIKEY /AWS1/LOCAPIKEY¶
The optional API key to authorize the request.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_locsrchplaceidxforp01 /AWS1/CL_LOCSRCHPLACEIDXFORP01¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->searchplaceindexforposition(
it_position = VALUE /aws1/cl_locposition_w=>tt_position(
( new /aws1/cl_locposition_w( |0.1| ) )
)
iv_indexname = |string|
iv_key = |string|
iv_language = |string|
iv_maxresults = 123
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_searchplaceindexforposi = lo_result->get_summary( ).
IF lo_searchplaceindexforposi IS NOT INITIAL.
LOOP AT lo_searchplaceindexforposi->get_position( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_double = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_placeindexsearchresultl = lo_searchplaceindexforposi->get_maxresults( ).
lv_string = lo_searchplaceindexforposi->get_datasource( ).
lv_languagetag = lo_searchplaceindexforposi->get_language( ).
ENDIF.
LOOP AT lo_result->get_results( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lo_place = lo_row_3->get_place( ).
IF lo_place IS NOT INITIAL.
lv_sensitivestring = lo_place->get_label( ).
lo_placegeometry = lo_place->get_geometry( ).
IF lo_placegeometry IS NOT INITIAL.
LOOP AT lo_placegeometry->get_point( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_double = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lv_sensitivestring = lo_place->get_addressnumber( ).
lv_sensitivestring = lo_place->get_street( ).
lv_sensitivestring = lo_place->get_neighborhood( ).
lv_sensitivestring = lo_place->get_municipality( ).
lv_sensitivestring = lo_place->get_subregion( ).
lv_sensitivestring = lo_place->get_region( ).
lv_sensitivestring = lo_place->get_country( ).
lv_sensitivestring = lo_place->get_postalcode( ).
lv_sensitiveboolean = lo_place->get_interpolated( ).
lo_timezone = lo_place->get_timezone( ).
IF lo_timezone IS NOT INITIAL.
lv_sensitivestring = lo_timezone->get_name( ).
lv_sensitiveinteger = lo_timezone->get_offset( ).
ENDIF.
lv_sensitivestring = lo_place->get_unittype( ).
lv_sensitivestring = lo_place->get_unitnumber( ).
LOOP AT lo_place->get_categories( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_placecategory = lo_row_5->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_place->get_supplementalcategories( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_placesupplementalcatego = lo_row_7->get_value( ).
ENDIF.
ENDLOOP.
lv_sensitivestring = lo_place->get_submunicipality( ).
ENDIF.
lv_sensitivedouble = lo_row_3->get_distance( ).
lv_placeid = lo_row_3->get_placeid( ).
ENDIF.
ENDLOOP.
ENDIF.