# 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="https://2785293273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMZRlzYk2QjkbowxBTKUm%2Fuploads%2FISnOhUV8yrIyRGY1qn55%2Fimage.png?alt=media&#x26;token=b7428701-7fdf-4388-b6d0-fd8c1c2bc28e" alt=""><figcaption></figcaption></figure>

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