标注点对象。
Inheritance: GeometryBase
コード例 #1
0
 private void btnTestGraphicsLayer_Click(object sender, EventArgs e)
 {
     Marker marker = new Marker("1", new SuperMap.Connector.Utility.Point2D(80, 30), MarkerType.Arrow, null);
     GraphicsLayer layer = new GraphicsLayer("2", "高亮");
     layer.Markers.Add(marker);
     this.mapControl1.GraphicsLayers.Add(layer);
 }
コード例 #2
0
 private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (_graphicsLayer == null) return;
     _graphicsLayer.Markers.Clear();
     _graphicsLayer.Polygons.Clear();
     _graphicsLayer.Lines.Clear();
     Geometry geometry = this.dataGridView1.Rows[e.RowIndex].Tag as Geometry;
     if (geometry != null)
     {
         switch (geometry.Type)
         {
             case GeometryType.POINT:
                 Marker marker = new Marker(e.RowIndex.ToString(), new Point2D(geometry.Points[0].X, geometry.Points[0].Y),
                      MarkerType.Red_Dot, null);
                 _graphicsLayer.Markers.Add(marker);
                 break;
             case GeometryType.LINE:
                 Line line = new Line(e.RowIndex.ToString(), new List<Point2D>(geometry.Points), 4.5, System.Drawing.Color.FromArgb(125, 0, 0, 255));
                 _graphicsLayer.Lines.Add(line);
                 break;
             case GeometryType.REGION:
                 Polygon polygon = new Polygon(e.RowIndex.ToString(), new List<Point2D>(geometry.Points), System.Drawing.Color.FromArgb(125, 0, 255, 0), System.Drawing.Color.FromArgb(50, 0, 0, 255),
                     4.5);
                 _graphicsLayer.Polygons.Add(polygon);
                 break;
             default:
                 break;
         }
     }
 }
コード例 #3
0
 public MarkerMapGMapMaker(Marker marker, GMapMarker gMapMarker)
 {
     this._marker = marker;
     this._gMapMarker = gMapMarker;
 }
コード例 #4
0
        protected override void MouseClick(MouseEventArgs e)
        {
            base.MouseClick(e);

            if (QuerySetting.LayerNames.Count != 1)
            {
                MessageBox.Show("图层只能有一个");
                return;
            }
            UGCLayer layer = QuerySetting.Layers.First(c => c.Name == QuerySetting.LayerNames[0]) as UGCLayer;

            if (layer.DatasetInfo.Type != DatasetType.CAD && layer.DatasetInfo.Type != DatasetType.POINT)
            {
                MessageBox.Show("图层数据集必须为复合类型或者点类型");
                return;
            }

            if (_layer.Markers.Count > 0)
            {
                _layer.Markers.Clear();
            }
            Point2D point = Map.ScreenToMap(e.Location);
            Marker marker = new Marker("aaa", point, MarkerType.Red_Pushpin, null);
            _layer.Markers.Add(marker);
        }
コード例 #5
0
        public static Marker CreateMarker(GraphicsLayer graLayer, Feature feature, UGCLayer layer, Recordset recordset, MarkerType type)
        {
            Marker marker = new Marker(
                                    feature.Id.ToString() + "@" + layer.DatasetInfo.Name + "@" + layer.DatasetInfo.DataSourceName + "@" + "0", feature.Geometry.Points[0], type,
                                    new SuperMap.Connector.Control.Forms.ToolTip(feature.Id.ToString(),
                                        new Draw.Font(Draw.FontFamily.Families.First(c => c.Name == "微软雅黑"), 12),
                                        Draw.StringFormat.GenericDefault, Draw.Color.White, Draw.Color.Black,
                                        Draw.Color.Black, 1));
            Dictionary<string, string> property = new Dictionary<string, string>();
            property[PropertyName.LayerName] = recordset.DatasetName;
            property[PropertyName.GraphicsLayerID] = graLayer.ID;
            property[PropertyName.SMID] = feature.Id.ToString();
            marker.Tag = property;
            graLayer.Markers.Add(marker);

            return marker;
        }
コード例 #6
0
        private void DrawText(string text, System.Drawing.Point point)
        {
            //Map.Refresh();
            //Graphics g=Map.CreateGraphics();
            //g.DrawString(text, new Draw.Font(Draw.FontFamily.Families.First(c => c.Name == "微软雅黑"), 20), new SolidBrush(System.Drawing.Color.Black),
            //    new PointF(point.X+10,point.Y));
            //g.Dispose();

            if (_marker != null && _layer.Markers.Contains(_marker))
            {
                _layer.Markers.Remove(_marker);

            }
            Bitmap image = new Bitmap(150, 20);
            Graphics g = Graphics.FromImage(image);
            g.FillRectangle(new SolidBrush(Draw.Color.White), 0, 0, 148, 18);
            g.DrawRectangle(new Pen(new SolidBrush(Draw.Color.Black), 1), 0, 0, 148, 18);
            g.DrawString(text, new Draw.Font(Draw.FontFamily.Families.First(c => c.Name == "宋体"), 9), new SolidBrush(System.Drawing.Color.Black), new PointF(1, 1));
            _marker = new Marker("1", Map.ScreenToMap(new Draw.Point(point.X + 80, point.Y + 10)), image, null);
            _layer.Markers.Add(_marker);
        }