POI 설명
Poi(point of interest)를 획득 하는 방법을 설명 합니다.
MaxstSceneManager.cs
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:()=> {
} );
}
}
POI를 호출하는 번호는 Trackable에 포함 되어 있습니다.
POI는 placeId를 통해서 획득하게 됩니다.
POIController.GetPOI()함수를 통해서 해당 위치의 POI를 획득 할 수 있습니다.
획득한 POI의 좌표를 이용하여 네비게이션에 활용 할수 있습니다.
Last updated