|
1 | | -# Geocoding |
| 1 | +# Find places or search for an address |
2 | 2 |
|
3 | | -Find the location for an address or find the address of a selected location using the Geocoding service. |
| 3 | +Find the location for an address or find the address of a selected location using the Geocoding service. |
4 | 4 |
|
5 | 5 |  |
6 | 6 |
|
7 | | -## How it works |
| 7 | +## How to use the sample |
| 8 | + |
| 9 | +This sample demonstrates the capability of the [Geocoding service](https://developers.arcgis.com/documentation/mapping-apis-and-services/search/geocoding/) inside Unreal Engine. You can make two kinds of operations with this sample, find a place and find an address. |
8 | 10 |
|
9 | | -1. Set your API Key in the ArcGISMapActor using the World Outliner window (if you are using the SampleViewerLevel you can also set the key through the UI or the level blueprint). |
10 | | -2. Enter an address in the text field to get the location of the address. |
11 | | -3. While holding shift, left-click on a location on the map to get the address (or description) of that location. |
12 | | -4. Raycasts are used to determine the height at the queried location to account for elevation. |
13 | | -5. This sample uses Esri's [Geocoding service API](https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm), which requires an API Key. You can learn more about [API keys](https://developers.arcgis.com/documentation/mapping-apis-and-services/security/api-keys/) and [Accounts](https://developers.arcgis.com/documentation/mapping-apis-and-services/deployment/accounts/) in the _Mapping APIs and location services_ guide. [Configure your API key](https://developers.arcgis.com/documentation/mapping-apis-and-services/security/tutorials/create-and-manage-an-api-key/#set-service-scopes) to support Geocoding capabilities. |
| 11 | +1. Open the **Geocoding** level. |
| 12 | +2. Click on the **ArcGISMap Actor** in the **Outliner**. |
| 13 | +3. Set your API key in the **Details** panel. |
| 14 | +4. Click play. |
| 15 | +5. To find a place, put a place name or address in the search bar and press Enter. For information about the type of locations that are supported by the Geocoding service, see the [ArcGIS REST APIs documentation](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-find-address-candidates.htm). |
| 16 | +6. To find an address of a place, drop the marker to your point of interest by clicking in the viewport while holding Shift, and you will see the address displayed above the marker. |
14 | 17 |
|
15 | 18 | **Note:** This sample is only set up to work with mouse and keyboard. |
16 | 19 |
|
| 20 | +## How it works |
| 21 | + |
| 22 | +1. Have a map with the mesh colliders enabled in the level. The mesh collider is required for using raycast. |
| 23 | +2. Have an Actor with the C++ script to query [Geocoding service](https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm). |
| 24 | +3. The HTTPClient is used to query the Geocoding service. |
| 25 | +4. The [`findAddressCandidates`](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-find-address-candidates.htm) operation is used for finding a place. |
| 26 | +5. The [`reverseGeocode`](https://developers.arcgis.com/rest/geocode/api-reference/geocoding-reverse-geocode.htm) operation is used for finding an address. The marker should have the [**ArcGIS Location Component**](https://developers.arcgis.com/unity/maps/location-component/) attached and its values will be used to query the address of the location. |
| 27 | +6. Place a marker using the game engine's [raycast](https://docs.unity3d.com/ScriptReference/Physics.Raycast.html) feature to account for elevation at the queried position. |
17 | 28 |
|
18 | 29 | ## Tags |
19 | | -geocode, reverse geocode, address, locate, search |
| 30 | +geocoding, reverse geocoding, address, locate, search |
0 commit comments