Example #1
0
        public override void Process()
        {
            MapControlModel model = MapControlModel.GetModelFromSession();

            model.SetMapSize(MapAlias, MapWidth, MapHeight);
            MapInfo.Mapping.Map map = model.GetMapObj(MapAlias);
            if (map == null)
            {
                return;
            }

            string strUID  = HttpContext.Current.Request["uid"];
            string strText = HttpContext.Current.Request["Name"];

            System.Drawing.Point[] points = this.ExtractPoints(this.DataString);
            System.Drawing.Color   clr    = UserMap.stringToColor(HttpContext.Current.Request["Color"]);


            double x = (double)points[0].X / 10000;
            double y = (double)points[0].Y / 10000;

            UserMap.DeleteFeature(map, Constants.TempLayerAlias, strUID);
            UserMap.AddMarker(map, Constants.TempLayerAlias, strUID, strText, new DPoint(x, y), Constants.BMPFILENAME, Constants.POINT_SIZE, clr);

            /*
             * //获取图层和表
             * FeatureLayer layer = (FeatureLayer)map.Layers[Constants.TempLayerAlias];
             * if (layer == null)
             * {
             *  return;
             * }
             *
             * double x = points[0].X/10000;
             * double y = points[0].Y/10000;
             *
             *
             * //创建点图元及其样式
             * FeatureGeometry fg = new MapInfo.Geometry.Point( map.GetDisplayCoordSys(), x, y);
             * CompositeStyle cs = new CompositeStyle(
             *  new BitmapPointStyle(Constants.BMPFILENAME, BitmapStyles.None, Color.Red, Constants.POINT_SIZE)
             *  );
             *
             *
             * Feature feature = new Feature(layer.Table.TableInfo.Columns);
             * feature.Geometry = fg;
             * feature.Style = cs;
             * feature["name"] = name;
             *
             * //fg.GetGeometryEditor().Rotate(dPoint, 90);
             * //fg.EditingComplete();
             *
             *
             * //MapInfo.Geometry.IGeometryEdit edit = feature.Geometry.GetGeometryEditor();
             * //edit.OffsetByAngle(90, 500, MapInfo.Geometry.DistanceUnit.Meter, MapInfo.Geometry.DistanceType.Spherical);
             * //edit.Geometry.EditingComplete();
             *
             * layer.Table.InsertFeature(feature);*/


            MemoryStream ms = model.GetMap(MapAlias, MapWidth, MapHeight, ExportFormat);

            StreamImageToClient(ms);
            return;
        }