大佬教程收集整理的这篇文章主要介绍了放大 缩小,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
case "放大": MyDrawObject.IsEnabled = true; _toolmode = "zoomin"; break; case "缩小": MyDrawObject.IsEnabled = true; _toolmode = "zoomout"; break;
void MyDrawObject_DrawComplete(object sender,DrawEventArgs E) { if (_toolmode == "zoomin") { Mymap.ZoomTo(e.Geometry as ESRI.ArcGIs.CLIENt.Geometry.EnvelopE); } else if (_toolmode == "zoomout") { Envelope currentextent = Mymap.Extent; Envelope zoomBoxExtent = e.Geometry as Envelope; MapPoint zoomBoxCenter = zoomBoxExtent.GetCenter(); double whRatioCurrent = currentextent.Width / currentextent.Height; double whRatioZoomBox = zoomBoxExtent.Width / zoomBoxExtent.Height; Envelope newEnv = null; if (whRatioZoomBox > whRatioCurrent) // use width { double mapWidthPixels = Mymap.Width; double multiplier = currentextent.Width / zoomBoxExtent.Width; double newWidthMapUnits = currentextent.Width * multiplier; newEnv = new Envelope(new MapPoint(zoomBoxCenter.X - (newWidthMapUnits / 2),zoomBoxCenter.Y),new MapPoint(zoomBoxCenter.X + (newWidthMapUnits / 2),zoomBoxCenter.Y)); } else // use height { double mapHeightPixels = Mymap.Height; double multiplier = currentextent.Height / zoomBoxExtent.Height; double newHeightMapUnits = currentextent.Height * multiplier; newEnv = new Envelope(new MapPoint(zoomBoxCenter.X,zoomBoxCenter.Y - (newHeightMapUnits / 2)),new MapPoint(zoomBoxCenter.X,zoomBoxCenter.Y + (newHeightMapUnits / 2))); } if (newEnv != null) Mymap.ZoomTo(newEnv); } }
MyDrawObject = new Draw(Mymap) { FillSymbol = LayoutRoot.resources["DefaultFillSymbol"] as ESRI.ArcGIs.CLIENt.Symbols.FillSymbol,DrawMode = DrawMode.Rectangle }; MyDrawObject.DrawComplete += new EventHandler<DrawEventArgs>(MyDrawObject_DrawCompletE);
以上是大佬教程为你收集整理的放大 缩小全部内容,希望文章能够帮你解决放大 缩小所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。