Beispiel #1
0
        public void AddLongLat()
        {
            longlatmap = sman.GetComponent <LatLongMap>();
            if (longlatmap == null)
            {
                return;
            }
            var calcheights = false;
            //if (tilesetctrl != null)
            //{
            //    calcheights = tilesetctrl.useElevation;
            //}
            var grc = GetGraphCtrl();

            foreach (string lptname in grc.linkpoints())
            {
                var node = grc.GetNode(lptname);
                var v2   = longlatmap.llcoord(node.pt.x, node.pt.z);
                node.lat = v2.x;
                node.lng = v2.y;
                if (calcheights)
                {
                    var y = GetHeight(node.pt.x, node.pt.z);
                    node.pt = new Vector3(node.pt.x, y, node.pt.z);
                }
            }
            var pt = Camera.current.transform.position;
            var ht = GetHeight(pt.x, pt.z);

            Camera.current.transform.position = new Vector3(pt.x, pt.y + ht, pt.z);
            sman.needsLifted = false;
        }
Beispiel #2
0
        public float GetHeight(float x, float z)
        {
            var    v2    = longlatmap.llcoord(x, z);
            var    lat   = v2.x;
            var    lng   = v2.y;
            double tlx   = lng;
            double brx   = lat;
            double tly   = lng;
            double bry   = lat;
            var    scale = 1f;

            //tilesetctrl.map.GetCorners(out tlx, out tly, out brx, out bry);
            //var scale = tilesetctrl.GetBestElevationYScale(tlx, tly, brx, bry);
            //Debug.Log("LinkCloudCtrl scale:" + scale);
            scale = 0.3258676f;
            scale = 1;
            //var wp = tilesetctrl.GetWorldPositionWithElevation(lng, lat, lng - d, lat + d, lng + d, lat - d);
            //var y = tilesetctrl.GetElevationValue(lng, lat, scale, tlx,tly,brx,bry);
            //var y = tilesetctrl.GetUnscaledElevationValue(lng, lat, tlx, tly, brx, bry);
            var y = scale * 0f;

            return(y);
        }