/// <summary> /// 设置颜色 /// </summary> /// <param name="strColor"></param> void colorsPicker_ColorhangedOverCallBack(Color strColor) { if (this.colorsPicker != null) { if (this._markers != null) { if (this._markers is IMSSimpleMarkerSymbol) { IMSSimpleMarkerSymbol tmp = _markers as IMSSimpleMarkerSymbol; //设置点颜色 tmp.Color = new SolidColorBrush(strColor); } else { MessageBox.Show("不是选择的几何点!"); return; } } else { MessageBox.Show("未选择编辑的点对象!"); return; } } }
/// <summary> /// 地图就绪事件 /// </summary> /// <param name="e"></param> void iMSMap1_MapReady(ZDIMS.Event.IMSMapEvent e) { if (!DesignerProperties.IsInDesignTool) { //监听地图容器鼠标左键弹起事件 this.iMSMap1.MouseLeftButtonUp += new MouseButtonEventHandler(iMSMap1_MouseLeftButtonUp); this.iMSMap1.SetInfoText(" 鼠标选择点编辑,点击地图取消选择!", Colors.Black); //定义点样式对象,添加到地图上 IMSSimpleMarkerSymbol markers; markers = new IMSSimpleMarkerSymbol(); //添加预定义点样式对象选择监听事件 markers.ChossedMarkerOverCallBack += new IMSMarkerSymbol.ChossedMarkerHander(markers_ChossedShapeOverCallBack); IMSMark mark; mark = new IMSMark(markers.control, ZDIMS.Interface.CoordinateType.Logic); mark.X = 6.99919517012924; mark.Y = 30.671057152220655; mark.EnableAnimation = false; this.markLayer.AddMark(mark); markers = new IMSSimpleMarkerSymbol(); markers.ChossedMarkerOverCallBack += markers_ChossedShapeOverCallBack; markers.SymbolStyle = MarkSymbolStyle.Star; mark = new IMSMark(markers.control, ZDIMS.Interface.CoordinateType.Logic); mark.EnableAnimation = false; mark.X = 8.89919517012924; mark.Y = 23.971057152220655; this.markLayer.AddMark(mark); //添加图片点样式对象 IMSPictureMarkerSymbol picMarker; picMarker = new IMSPictureMarkerSymbol(); //添加对象选择监听事件 picMarker.ChossedMarkerOverCallBack += markers_ChossedShapeOverCallBack; mark = new IMSMark(picMarker.control, ZDIMS.Interface.CoordinateType.Logic); mark.X = 18.99919517012924; mark.Y = 30.671057152220655; mark.EnableAnimation = false; this.markLayer.AddMark(mark); picMarker = new IMSPictureMarkerSymbol(); picMarker.Source = "../images/Ring.png";//设置图片路径 //添加对象选择监听事件 picMarker.ChossedMarkerOverCallBack += markers_ChossedShapeOverCallBack; mark = new IMSMark(picMarker.control, ZDIMS.Interface.CoordinateType.Logic); mark.X = 20.99919517012924; mark.Y = 23.671057152220655; mark.EnableAnimation = false; this.markLayer.AddMark(mark); } }
/// <summary> /// 添加预定义样式点对象 /// </summary> /// <param name="logPntArr"></param> private void mark(GraphicsLayer gLayer, IGraphics graphics, List <Point> logPntArr) { //初始化点样式对象 _markStyle = new IMSSimpleMarkerSymbol(); //设置点显示样式 _markStyle.SymbolStyle = this.markType; _markStyle.Size = 20;//点大小 //添加点样式到标注里面 IMSMark mark = new IMSMark(_markStyle.control, ZDIMS.Interface.CoordinateType.Logic); //设置坐标 mark.X = logPntArr[0].X; mark.Y = logPntArr[0].Y; mark.EnableAnimation = false; //不允许动态变换 this.markLayer.AddMark(mark); //添加点样式 }
/// <summary> /// 添加点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddPnt_Click(object sender, RoutedEventArgs e) { //初始化点对象 IMSSimpleMarkerSymbol markers = new IMSSimpleMarkerSymbol(); markers.IsShowMenum = true; //监听对象选择事件 markers.ChossedMarkerOverCallBack += new IMSMarkerSymbol.ChossedMarkerHander(markers_ChossedShapeOverCallBack); //定义标注对象 IMSMark mark; //将点对象添加到标注中 mark = new IMSMark(markers.control, ZDIMS.Interface.CoordinateType.Logic); mark.EnableDrag = true; //设置点位置 mark.X = 6.99919517012924; mark.Y = 30.671057152220655; mark.EnableAnimation = false; this.markLayer.AddMark(mark);//添加到标注图层 }
/// <summary> /// 设置点大小 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SetSize_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e) { if (this.SetSize != null) { if (this._markers != null) { if (this._markers is IMSSimpleMarkerSymbol) { IMSSimpleMarkerSymbol tmp = _markers as IMSSimpleMarkerSymbol; tmp.Size = this.SetSize.Value;//设置大小 } else { MessageBox.Show("不是选择的几何点!"); return; } } else { MessageBox.Show("未选择编辑的点对象!"); return; } } }
/// <summary> /// 设置点样式类型 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void setType_DropDownClosed(object sender, EventArgs e) { if (this.setType != null) { if (this._markers != null) { //根据选择设置点的样式 if (this._markers is IMSSimpleMarkerSymbol) { IMSSimpleMarkerSymbol tmp = _markers as IMSSimpleMarkerSymbol; switch (((Image)(this.setType.SelectionBoxItem)).Tag.ToString()) { case "圆": { tmp.SymbolStyle = MarkSymbolStyle.Circle; break; } case "矩形": { tmp.SymbolStyle = MarkSymbolStyle.Square; break; } case "三角形": { tmp.SymbolStyle = MarkSymbolStyle.Triangle; break; } case "扇形": { tmp.SymbolStyle = MarkSymbolStyle.Sector; break; } case "菱形": { tmp.SymbolStyle = MarkSymbolStyle.Diamond; break; } case "五角星": { tmp.SymbolStyle = MarkSymbolStyle.Star; break; } default: { break; } } } else { MessageBox.Show("不是选择的几何点!"); return; } } else { MessageBox.Show("未选择编辑的点对象!"); return; } } }