/// <summary> /// 鼠标按下事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mapControl_OnMouseDown(object sender, IGlobeControlEvents_OnMouseDownEvent e) { if (e.button != 1) { return; } MapLngLat lnglat = this.SceneToGeographyPoint(e.x, e.y); if (kml == null) { kml = new Kml(); kml.Placemark.Name = "绘制圆" + Utils.Index; circleKml = new KmlCircle(); circleKml.Description = "手动绘制的圆"; circleKml.FillColor = Color.FromArgb(70, Color.Orange); circleKml.StrokeColor = Color.FromArgb(70, Color.Red); circleKml.StrokeWidth = 2; circleKml.Rasterize = true; circleKml.Position = lnglat; } else { circleKml.RandomPosition = lnglat; drawn = layer.AddElement(kml, out circleElement); } }
/// <summary> /// 鼠标按下事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mapControl_OnMouseDown(object sender, IGlobeControlEvents_OnMouseDownEvent e) { if (e.button == 1) //鼠标左键 { MapLngLat lnglat = this.SceneToGeographyPoint(e.x, e.y); lnglat.Alt = lnglat.Alt * -1; pointList.Add(lnglat); if (pointList.Count == 2) { kml = new Kml(); kml.Placemark.Name = "辅助线"; KmlLineString lineKml = new KmlLineString(); lineKml.Rasterize = true; lineKml.Description = "辅助线"; lineKml.PositionList = pointList; lineKml.Color = Color.FromArgb(70, Color.Orange); kml.Placemark.Graph = lineKml; layer.AddElement(kml); kml.Placemark.Name = "绘制面" + Utils.Index; polygonKml = new KmlPolygon(); polygonKml.Rasterize = true; polygonKml.Description = "手动绘制的面"; polygonKml.FillColor = Color.FromArgb(70, Color.Orange); kml.Placemark.Graph = polygonKml; } else if (pointList.Count == 3) //更新面 { layer.RemoveElement("辅助线"); polygonKml.PositionList = pointList; kml.Placemark.Graph = polygonKml; drawn = layer.AddElement(kml, out polygonElement); } else if (pointList.Count > 3) { layer.RemoveElement(polygonElement); polygonKml.PositionList = pointList; kml.Placemark.Graph = polygonKml; drawn = layer.AddElement(kml, out polygonElement); } layer.Refresh(); } }
private void axGlobeControl1_OnMouseDown(object sender, IGlobeControlEvents_OnMouseDownEvent e) { }