# POI 설명

{% code title="MaxstSceneManager.cs" %}

```csharp
public void OnClickGetPOI()
{
    poiDatas.Clear();
    string accessToken = TrackerManager.GetInstance().GetAccessToken();

    if (!XRStudioController.Instance.ARMode)
    {
        VPSTrackable eachTrackable = vPSTrackablesList[0];
        
        POIController.GetPOI(this, accessToken, eachTrackable.placeId, success: (pois) => {
            poiDatas.AddRange(pois);
            GameObject poiGameObject = new GameObject();
            poiGameObject.name = "POI";
            poiGameObject.transform.position = new Vector3(0, 0, 0);
            poiGameObject.transform.eulerAngles = new Vector3(0, 0, 0);
            poiGameObject.transform.localScale = new Vector3(1, 1, 1);

            poiGameObject.transform.parent = arContent.transform;

            foreach (POIData eachPOI in pois)
            {
                GameObject eachPoiGameObject = Instantiate(poiPrefab);
                eachPoiGameObject.transform.position = eachPOI.GetVPSPosition();
                eachPoiGameObject.transform.parent = poiGameObject.transform;
                eachPoiGameObject.name = eachPOI.poi_name_ko;

                poiItems.Add(eachPoiGameObject);
            }

        },
        fail: () => {

        });
        return;
    }

    if (currentLocalizerPlaceId > 0)
    {
        POIController.GetPOI(this, accessToken, currentLocalizerPlaceId, success:(pois)=> {
            poiDatas.AddRange(pois);
            GameObject poiGameObject = new GameObject();
            poiGameObject.name = "POI";
            poiGameObject.transform.position = new Vector3(0, 0, 0);
            poiGameObject.transform.eulerAngles = new Vector3(0, 0, 0);
            poiGameObject.transform.localScale = new Vector3(1, 1, 1);

            poiGameObject.transform.parent = arContent.transform;

            foreach(POIData eachPOI in pois)
            {
                GameObject eachPoiGameObject = Instantiate(poiPrefab);
                eachPoiGameObject.transform.position = eachPOI.GetVPSPosition();
                eachPoiGameObject.transform.parent = poiGameObject.transform;
                eachPoiGameObject.name = eachPOI.poi_name_ko;

                poiItems.Add(eachPoiGameObject);
            }

        },
        fail:()=> {

        } );
    }
}
```

{% endcode %}

* POI를 호출하는 번호는 Trackable에 포함 되어 있습니다.
* POI는 placeId를 통해서 획득하게 됩니다.
* POIController.GetPOI()함수를 통해서 해당 위치의 POI를 획득 할 수 있습니다.

<figure><img src="/files/TkO7QK6yGjYzxxlC0ooM" alt=""><figcaption></figcaption></figure>

* 획득한 POI의 좌표를 이용하여 네비게이션에 활용 할수 있습니다.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.maxverse.io/unity/poi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
