Beispiel #1
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            var circle = new GoogleCircle {
                Center = new LatLng(42.1229, 24.7879),
                Radius = 200000
            };
            var polygon = new GooglePolygon {
                FillColor = Color.Red,
                FillOpacity = .5F,
                StrokeColor = Color.Black,
                StrokeWeight = 5,
                Paths = new List<LatLng> {
                    new LatLng(37.97918, 23.716647),
                    new LatLng(41.036501, 28.984895),
                    new LatLng(44.447924, 26.097879),
                    new LatLng(44.802416, 20.465601),
                    new LatLng(42.002411, 21.436097),
                    new LatLng(37.97918, 23.716647),
                    new LatLng(37.97918, 23.716647)
                }
            };
            var rectangle = new GoogleRectangle {
                FillColor = Color.Green,
                Bounds = new Bounds {
                    SouthWest = new LatLng(44.802416, 20.465601),
                    NorthEast = new LatLng(37.97918, 23.716647)
                }
            };
            GoogleMap1.Overlays.Add(circle);
            GoogleMap1.Overlays.Add(polygon);
            GoogleMap1.Overlays.Add(rectangle);
        }
Beispiel #2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            var circle = new GoogleCircle
            {
                Center = new LatLng(42.1229, 24.7879),
                Radius = 200000
            };
            var polygon = new GooglePolygon
            {
                FillColor    = Color.Red,
                FillOpacity  = .5F,
                StrokeColor  = Color.Black,
                StrokeWeight = 5,
                Paths        = new List <LatLng> {
                    new LatLng(37.97918, 23.716647),
                    new LatLng(41.036501, 28.984895),
                    new LatLng(44.447924, 26.097879),
                    new LatLng(44.802416, 20.465601),
                    new LatLng(42.002411, 21.436097),
                    new LatLng(37.97918, 23.716647),
                    new LatLng(37.97918, 23.716647)
                }
            };
            var rectangle = new GoogleRectangle
            {
                FillColor = Color.Green,
                Bounds    = new Bounds
                {
                    SouthWest = new LatLng(44.802416, 20.465601),
                    NorthEast = new LatLng(37.97918, 23.716647)
                }
            };

            GoogleMap1.Overlays.Add(circle);
            GoogleMap1.Overlays.Add(polygon);
            GoogleMap1.Overlays.Add(rectangle);
        }
    protected void MapLoad(DataSet ds)
    {
        //try
        //{

        ReplayMap.MapType = (MapType)Session["mapType"];
        if (autoRefresh.Checked == false)
        {
            Timer1.Enabled = false;
        }
        else
        {
            Timer1.Enabled = true;
        }

        ReplayMap.Zoom = 13;
        if (arraycount <= 0 || arraycount >= 2)
        {
            ReplayMap.Zoom = 5;
        }

        string lat     = "20";
        string lng     = "77";
        double latMin  = 90.0;
        double longMin = 180.0;
        double latMax  = 0.0;
        double longMax = 0.0;

        for (int table = 0; table < 2; table++)
        {
            for (int j = 0; j < ds.Tables[table].Rows.Count; j++)
            {
                lat = ds.Tables[table].Rows[j]["latitude"].ToString();
                lng = ds.Tables[table].Rows[j]["longitude"].ToString();
                string address = ds.Tables[table].Rows[j]["address"].ToString();
                string PlateNo = ds.Tables[table].Rows[j]["carrierName"].ToString();
                //string lastlogdt = ds.Tables[0].Rows[0]["LogReceivedServerTime"].ToString();
                string Speed = ds.Tables[table].Rows[j]["speed"].ToString();
                string D1    = ds.Tables[table].Rows[j]["Din1"].ToString();
                string Date  = ds.Tables[table].Rows[j]["time"].ToString();

                Marker GP1 = new Marker();
                GP1.Position = new LatLng(Convert.ToDouble(lat), Convert.ToDouble(lng));

                Location lc = new Location(Convert.ToDouble(lat), Convert.ToDouble(lng));


                GP1.Info = "Plate No : " + PlateNo + "</br>" + "Speed : " + "" + Speed
                           + "</br>" + "Digital Ignition : " + (D1 == "" ? "NA" : D1) + "</br>" + "Date & Time : " + Date + "</br>" + "Address : " + ((address != "") ? address : "Not Availabe");

                GP1.Title = PlateNo;
                if (ds.Tables[table].Rows[j]["codecId"].ToString() == "503")
                {
                    GP1.Icon = new MarkerImage().Url = "icons/personal1.png";
                    if (ds.Tables[table].Rows[j]["lbsLocation"].ToString() == "1")
                    {
                        GoogleCircle c = new GoogleCircle();
                        c.Center       = GP1.Position;
                        c.Radius       = 1000;
                        c.FillColor    = System.Drawing.Color.LightBlue;
                        c.StrokeWeight = 2;
                        ReplayMap.Overlays.Add(c);
                    }
                }
                else
                {
                    if (D1 == "1" || Int32.Parse(Speed) > 2)
                    {
                        GP1.Icon = new MarkerImage().Url = "icons/personal1.png";
                    }
                    else
                    {
                        GP1.Icon = new MarkerImage().Url = "icons/personal1.png";
                    }
                }
                ReplayMap.Markers.Add(GP1);

                if (Convert.ToDouble(lat) > latMax)
                {
                    latMax = Convert.ToDouble(lat);
                }
                if (Convert.ToDouble(lng) > longMax)
                {
                    longMax = Convert.ToDouble(lng);
                }
                if (Convert.ToDouble(lat) < latMin)
                {
                    latMin = Convert.ToDouble(lat);
                }
                if (Convert.ToDouble(lng) < longMin)
                {
                    longMin = Convert.ToDouble(lng);
                }
            }
        }
        int    mapdisplay = 360;
        double dist       = (6371 * Math.Acos(Math.Sin(latMin / 57.2958) * Math.Sin(latMax / 57.2958) +
                                              (Math.Cos(latMin / 57.2958) * Math.Cos(latMax / 57.2958) * Math.Cos((longMax / 57.2958) - (longMin / 57.2958)))));

        zoom = Math.Floor(8 - Math.Log(1.6446 * dist / Math.Sqrt(2 * (mapdisplay * mapdisplay))) / Math.Log(2));


        //if (zoom == 11)
        //{
        //    zoom = 14;
        //}
        if ((ds.Tables[0].Rows.Count + ds.Tables[1].Rows.Count) == 1)
        {
            ReplayMap.Zoom = 16;
        }
        else
        {
            ReplayMap.Zoom = (Int32)zoom;
        }
        if (ReplayMap.Markers.Count == 1 || ((latMin == latMax) && (longMin == longMax)))
        {
            zoom = 11;
        }
        else
        {
            lat = ((latMax + latMin) / 2).ToString();
            lng = ((longMax + longMin) / 2).ToString();
        }

        ReplayMap.Center = (new LatLng(Convert.ToDouble(lat), Convert.ToDouble(lng)));
        ReplayMap.OverviewMapControlOptions.Opened = true;
        //}
        //catch (Exception)
        //{
        //}
    }