private void addmyMark(string name, double x, double y)
        {
            //初始化标注图层,并将其作为子元素添加到地图容器
            if (this.markLayer1 == null)
            {
                this.markLayer1 = new MarkLayer();
                this.iMSMap1.AddChild(this.markLayer1);
            }
            //创建并实例化标注控件,对其属性进行设置
            Image       img = new Image();
            BitmapImage b   = new BitmapImage(new Uri("/images/walk.png", UriKind.RelativeOrAbsolute));

            img.Source = b;
            img.Width  = 25;
            img.Height = 30;
            IMSmyMark mark = new IMSmyMark(img);

            mark.CoordinateType = CoordinateType.Logic;
            mark.markName       = name;
            mark.X = x;
            mark.Y = y;
            mark.EnableRevisedPos        = true;
            mark.MarkClickCallback      += new MarkClickDelegate(onClick);        //标注点击事件回调
            mark.MarkControl.MouseLeave += new MouseEventHandler(img_MouseLeave); //标注鼠标移出事件监听
            markLayer1.AddMark(mark);                                             //将标注添加到标注图层中
        }
 private void onClick(IMSmyMark mark)
 {
     if (markInfo == null)
     {
         //如果markInfo为空,则实例化markInfo控件,并设置其相关属性
         markInfo = new MarkInfo();
         markInfo.placename.Text = mark.markName;
         markInfo.xInfo.Text     = mark.X.ToString();
         markInfo.yInfo.Text     = mark.Y.ToString();
         markInfo.mapContainer   = iMSMap1;
         if (markLayer1.EnablePolymericMark)
         {
             markInfo.logicX = this.iMSMap1.MouseDownLogicPnt.X;
             markInfo.logicY = this.iMSMap1.MouseDownLogicPnt.Y;
         }
         else
         {
             markInfo.logicX = mark.X;
             markInfo.logicY = mark.Y;
         }
         markInfo.updateposition();
         markInfo.Show();
     }
     else
     {//如果markInfo不为空,直接赋值
         markInfo.placename.Text = mark.markName;
         markInfo.xInfo.Text     = mark.X.ToString();
         markInfo.yInfo.Text     = mark.Y.ToString();
         markInfo.mapContainer   = iMSMap1;
         if (markLayer1.EnablePolymericMark)
         {
             markInfo.logicX = this.iMSMap1.MouseDownLogicPnt.X;
             markInfo.logicY = this.iMSMap1.MouseDownLogicPnt.Y;
         }
         else
         {
             markInfo.logicX = mark.X;
             markInfo.logicY = mark.Y;
         }
         markInfo.updateposition();
         markInfo.Show();
     }
 }