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 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);
 }
Beispiel #3
0
    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");
    }
Beispiel #4
0
//        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);
        }
Beispiel #5
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");
    }
Beispiel #6
0
 public MapCoordblock(LatLongMap llm)
 {
     this.llm = llm;
 }