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; }
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); }