/// <summary>
    /// 장애물 위치 조정후 콜백 함수
    /// </summary>
    /// <param name="obj"></param>
    /// <param name="location"></param>
    /// <param name="count"></param>
    void ItemObjectUpdatedEvent(GameObject obj, ARLocation.Location location, int count)
    {
        ARLocation.PlaceAtLocation scriptA = obj.GetComponent <ARLocation.PlaceAtLocation>();
        Destroy(scriptA);

        //ItemObjectController objSc = obj.GetComponent<ItemObjectController>();
        //if (objSc.type.Equals("4") || objSc.type.Equals("5"))
        //{
        //    //    Debug.Log("type-" + objSc.type + ", x-" + obj.transform.position.x + ", z-" + obj.transform.position.z);
        //    obj.transform.rotation = Quaternion.Euler(new Vector3(-5, 33.3f, 0));
        //}
    }
    /// <summary>
    /// 배 위치 조정후 콜백 함수
    /// </summary>
    /// <param name="obj"></param>
    /// <param name="location"></param>
    /// <param name="count"></param>
    void ObjectUpdatedEvent(GameObject obj, ARLocation.Location location, int count)
    {
        ARLocation.PlaceAtLocation scriptA = obj.GetComponent <ARLocation.PlaceAtLocation>();
        Destroy(scriptA);
        ShipData shipData = obj.GetComponent <ShipObjectScript>().GetShipData();
        float    f        = float.Parse(shipData.sog);

        _mapVC.SetShipMap(obj);

        //TODO: 여기서 미니맵 좌표 찍어줘야함.
        if (f > 0)
        {
            Vector2 newPs = SetNewPostion(obj.transform.position.x, obj.transform.position.z, shipData.regDate, shipData.sog, float.Parse(shipData.cog));
            obj.transform.position = new Vector3(newPs.x, obj.transform.position.y, newPs.y);
            obj.GetComponent <ShipObjectScript>().SetFirstMoveCoroutineAction();
        }
        else
        {
            return;
        }
    }
    private void AddShipObject(string key, ShipData value)
    {
        if (!value.messageID.Equals("0"))
        {
            return;                                 //**원래라면 여기서 장애물 선별해야함.
        }
        ARLocation.Location newLocation = new ARLocation.Location()
        {
            Latitude     = double.Parse(value.latitude),
            Longitude    = double.Parse(value.longitude),
            Altitude     = 0,
            AltitudeMode = ARLocation.AltitudeMode.GroundRelative
        };

        //new object
        GameObject       copyPrefab = Instantiate <GameObject>(_shipObjPrefab);
        ShipObjectScript objSc      = copyPrefab.GetComponent <ShipObjectScript>();

        objSc._mapVC = _mapVC;

        ARLocation.PlaceAtLocation.PlaceAtOptions opts = new ARLocation.PlaceAtLocation.PlaceAtOptions()
        {
            HideObjectUntilItIsPlaced  = true,
            MaxNumberOfLocationUpdates = 1, //** 업데이트 횟 수 관리
            MovementSmoothing          = 0,
            UseMovingAverage           = true
        };

        objSc._mainSceneController = this;
        objSc._userKey             = key;
        objSc.SetShipData(value);

        objSc._placeAtLocationScript = ARLocation.PlaceAtLocation.AddPlaceAtComponentCustom(objSc._placeAtLocationScript, newLocation, opts);

        objSc._placeAtLocationScript.ObjectLocationUpdated.AddListener(ObjectUpdatedEvent); //이벤트 등록 (델리게이트)

        _shipObjs.Add(key, copyPrefab);
    }
 /// <summary>
 /// 위치 정보가 바뀌면 발생
 /// </summary>
 /// <param name="location"></param>
 public void UpdatedLocationEvent(ARLocation.Location location)
 {
     _userLocation.latitude  = location.Latitude.ToString("F6");
     _userLocation.longitude = location.Longitude.ToString("F6");
     _userLocation.altitude  = location.Altitude.ToString("F6");
 }
    //바다정보 생성
    public void HttpItemsResultDelegate(bool isError, List <ItemInfo> datas)
    {
        if (isError)
        {
            _httpClass.SendItemsHttpLocation(_userLocation.latitude, _userLocation.longitude);
            return;
        }

        foreach (ItemInfo itemInfo in datas)
        {
            ARLocation.Location newLocation = new ARLocation.Location()
            {
                Latitude     = Double.Parse(itemInfo.LATI),
                Longitude    = Double.Parse(itemInfo.LONGI),
                Altitude     = 0,
                AltitudeMode = ARLocation.AltitudeMode.GroundRelative
            };
            ARLocation.PlaceAtLocation.PlaceAtOptions opts = new ARLocation.PlaceAtLocation.PlaceAtOptions()
            {
                HideObjectUntilItIsPlaced  = true,
                MaxNumberOfLocationUpdates = 1,
                MovementSmoothing          = 0,
                UseMovingAverage           = true
            };

            GameObject copyPrefab = null;

            string latA = itemInfo.LATI;
            string lonA = itemInfo.LONGI;
            //Debug.Log(itemInfo.DANGER_TYPE);
            if (itemInfo.DANGER_TYPE.Equals("1"))
            {
                copyPrefab = Instantiate <GameObject>(_itemObjPrefabA);
            }
            else if (itemInfo.DANGER_TYPE.Equals("2"))
            {
                copyPrefab = Instantiate <GameObject>(_itemObjPrefabB);
            }
            else if (itemInfo.DANGER_TYPE.Equals("3"))
            {
                copyPrefab = Instantiate <GameObject>(_itemObjPrefabC);
            }
            else if (itemInfo.DANGER_TYPE.Equals("4"))
            {
                copyPrefab = Instantiate <GameObject>(_itemObjPrefabD);
                latA       = "35.104148";
                lonA       = "129.063706";
            }
            else if (itemInfo.DANGER_TYPE.Equals("5"))
            {
                copyPrefab = Instantiate <GameObject>(_itemObjPrefabE);
                latA       = "35.106500";
                lonA       = "129.066195";
            }
            else
            {
                continue;
            }

            //좌현 33.3,   길이 1.9km
            //우현 213.3  길이 1.8km
            ItemObjectController objSc = copyPrefab.GetComponent <ItemObjectController>();
            objSc._mainSceneController = this;

            objSc.lat = latA;
            objSc.lon = lonA;

            objSc._placeAtLocationScript = ARLocation.PlaceAtLocation.AddPlaceAtComponentCustom(objSc._placeAtLocationScript, newLocation, opts);

            objSc._placeAtLocationScript.ObjectLocationUpdated.AddListener(ItemObjectUpdatedEvent); //이벤트 등록 (델리게이트)
        }
    }