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 void InitializeGrid(string scenename, LatLngBox llbox, string mapcoordname = "", MapProvider mapprov = MapProvider.Bing, ElevProvider elevprov = ElevProvider.Bing) { this.scenename = scenename; this.mapcoordname = mapcoordname; this.mapprov = mapprov; this.elevprov = elevprov; this.levelOfDetail = llbox.lod; this.llmap = this.gameObject.AddComponent <LatLongMap>(); this.qmapElev = gameObject.AddComponent <QmapElevation>(); this.qkm = new QkMan(this, this.mapcoordname, mapprov, llbox); this.qtt = this.gameObject.AddComponent <Qtrilines>(); qtt.Init(this); }
public void InitMapFromSceneSel(string regsel, int nothing) { mapcoord = new MapCoordblock(this); switch (regsel) { default: case "MsftRedwest": case "MsftCoreCampus": case "MsftB19focused": mapcoord.AddRowLatLng(47.640490, -122.133797, -149.1, 0.2); mapcoord.AddRowLatLng(47.639079, -122.134960, 28.0, -31.4); mapcoord.AddRowLatLng(47.638526, -122.134519, 75.4, 19.9); mapcoord.AddRowLatLng(47.639368, -122.133926, -29.4, 30.8); mapcoord.AddRowLatLng(47.641066, -122.136018, -155.44, -177.96); break; case "Eb12": mapcoord.AddRowLatLng(49.993313, 8.678353, 0, 0); // eb12 origin streetlamp mapcoord.AddRowLatLng(49.993472, 8.677981, 18.45, 27.90); // eb12-12 doorway mapcoord.AddRowLatLng(49.995560, 8.676101, 260.80, 167.7); // SW corner of Rewe mapcoord.AddRowLatLng(49.995788, 8.676752, 287.25, 118.35); //SE corner of Rewe break; case "MsftDublin": //mapcoord.AddRowLngLat(53.268998, -6.196680, 0, 0); mapcoord.AddRowLatLng(53.268396, -6.195296, -103.5, 75.2); mapcoord.AddRowLatLng(53.269369, -6.196511, -12.4, -47.8); mapcoord.AddRowLatLng(53.269212, -6.194816, -139.0, -27.5); break; } glbllm = this; maps.latmap = mapcoord.DoRegression("lat = x + z"); maps.lngmap = mapcoord.DoRegression("lng = x + z"); maps.xmap = mapcoord.DoRegression("x = lng + lat");// backwards, should do something about it someday maps.zmap = mapcoord.DoRegression("z = lng + lat"); }
// OnlineMapsTileSetControl tilesetctrl = null; public bool CanGetHeights() { //if (tilesetctrl == null) //{ // tilesetctrl = FindObjectOfType<OnlineMapsTileSetControl>(); // if (tilesetctrl == null) return false; //} if (longlatmap == null) { //longlatmap = sman.glGetComponent<LatLongMap>(); longlatmap = sman.glbllm; if (longlatmap == null) { return(false); } } var y = GetHeight(0, 0); if (y > 0) { Debug.Log("y:" + y); } return(y > 0); }
public void InitMapFromLatLongBox(LatLngBox latLngBox, int lod) { mapcoord = new MapCoordblock(this); var llbl = latLngBox.GetBottomLeft(); var llul = latLngBox.GetUpperLeft(); var llbr = latLngBox.GetBottomRight(); var llur = latLngBox.GetUpperRight(); var llmp = latLngBox.GetMidPoint(); var pixToMeters = TileSystem.GroundResolution(llmp.lat, lod); //var orgpix = llbl.GetPixelCoords(lod); var orgpix = llmp.GetPixelCoords(lod); var orgmeters = new Vector2d(orgpix.x * pixToMeters, orgpix.y * pixToMeters); mapcoord.AddRowLngLat(llbl, lod, pixToMeters, orgmeters); mapcoord.AddRowLngLat(llul, lod, pixToMeters, orgmeters); mapcoord.AddRowLngLat(llbr, lod, pixToMeters, orgmeters); mapcoord.AddRowLngLat(llur, lod, pixToMeters, orgmeters); mapcoord.AddRowLngLat(llmp, lod, pixToMeters, orgmeters); glbllm = this; maps.latmap = mapcoord.DoRegression("lat = x + z"); maps.lngmap = mapcoord.DoRegression("lng = x + z"); maps.xmap = mapcoord.DoRegression("x = lng + lat"); maps.zmap = mapcoord.DoRegression("z = lng + lat"); }
public MapCoordblock(LatLongMap llm) { this.llm = llm; }