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