Beispiel #1
0
 /// <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;
         }
     }
 }
Beispiel #2
0
        /// <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); //添加点样式
        }
Beispiel #4
0
        /// <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);//添加到标注图层
        }
Beispiel #5
0
 /// <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;
         }
     }
 }
Beispiel #6
0
        /// <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;
                }
            }
        }