Example #1
0
        private void editObject(xObject obj)
        {
            // Check if user has Edit permissions for this group of objects
            if (_Dh.getGroupAccessLevel(_Dh.getGroupById(obj.ObGroupId)).CompareTo(_Dh.AccessLevel.Edit) < 0)
            {
                _Dh.msgExclamation("У вас на достаточно привилегий");
                return;
            }

            // Show markers of polygons
            if (wObject.Polygon != null && _Dh.getGroupById(obj.ObGroupId).GroupType == ObjectType.POLYGON)
            {
                for (int i = 0; i < wObject.Polygon.Points.Count; i++)
                {
                    GMapMarker m = new GMarkerGoogle(wObject.Polygon.Points[i], GMarkerGoogleType.green_pushpin)
                    {
                        Tag = (i) + "", IsVisible = true, ToolTipMode = MarkerTooltipMode.Always
                    };
                    wObject.Polygon.Overlay.Markers.Add(m);

                    TheMap.UpdateMarkerLocalPosition(m);
                }

                TheMap.UpdatePolygonLocalPosition(wObject.Polygon);
            }

            // Show markers of route
            if (wObject.Route != null && _Dh.getGroupById(obj.ObGroupId).GroupType == ObjectType.ROUTE)
            {
                for (int i = 0; i < wObject.Route.Points.Count; i++)
                {
                    GMapMarker m = new GMarkerGoogle(wObject.Route.Points[i], GMarkerGoogleType.green_pushpin)
                    {
                        Tag = (i) + "", IsVisible = true, ToolTipMode = MarkerTooltipMode.Always
                    };
                    wObject.Route.Overlay.Markers.Add(m);

                    TheMap.UpdateMarkerLocalPosition(m);
                }

                TheMap.UpdateRouteLocalPosition(wObject.Route);
            }

            var fObjInfo = new FrmObjInfo(obj);

            fObjInfo.Show();
            if (_Dh.myAccount.IsModerator)
            {
                isEditMode = true;
            }

            //    RefreshUI();
        }
Example #2
0
        private void TheMap_MouseMove(object sender, MouseEventArgs e)
        {
            PointLatLng point = TheMap.FromLocalToLatLng(e.X, e.Y);

            lblCoords.Text = _Dh.getLatitude(point) + " " + _Dh.getLongitude(point);

            //polygon.Points[2] = polygon.Points[4];
            //TheMap.UpdatePolygonLocalPosition(polygon);

            if (e.Button == MouseButtons.Left && isMouseDown && isEditMode)
            {
                // Show on map the change of position
                if (wObject != null)
                {
                    int index = Convert.ToInt32(wMarker.Tag);

                    switch (_Dh.getGroupById(wObject.ObGroupId).GroupType)
                    {
                    case ObjectType.POLYGON:
                        wMarker.Position = point;

                        wObject.Polygon.Points[index] = wMarker.Position;
                        TheMap.UpdatePolygonLocalPosition(wObject.Polygon);
                        break;

                    case ObjectType.ROUTE:
                        wMarker.Position = point;

                        wObject.Route.Points[index] = wMarker.Position;
                        TheMap.UpdateRouteLocalPosition(wObject.Route);
                        break;

                    case ObjectType.DOT:
                        wObject.Marker.Position = point;
                        break;
                    }
                }
            }
        }