silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了放大 缩小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

case "放大": MyDrawObject.IsEnabled = true; _toolmode = "zoomin"; break; case "缩小": MyDrawObject.IsEnabled
 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,请注明来意。
标签:放大缩小