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