1

このコードは、この Web サイト http://forums.arcgis.com/threads/30635-How-to-Select-Feature-by-XY-Location-and-Highlight-it-in-ArcMap-9.3-programmaticallyから借用しました。

マップポイントへのズームに関するものです。しかし、これを実装する方法がわかりません。または、必要な参照または使用している参照。

私はarcgisとc#の完全な初心者だからです。もう少し経験のある人が私を助けることができれば、それは大歓迎です。

public static void CaptureMapCoordinates(int x, int y)
    {
        // get the map coordinates from the screen coordinates
        IPoint pScreenPoint = new ESRI.ArcGIS.Geometry.Point();
        IPoint pMapPoint = new ESRI.ArcGIS.Geometry.Point();
        IEnvelope pEnv = new EnvelopeClass();

        pScreenPoint.X = x;
        pScreenPoint.Y = y;

        pMapPoint = GetMapCoordinatesFromScreenCoordinates(pScreenPoint, pActiveView);

        pEnv = pActiveView.Extent;
        pEnv.CenterAt(pMapPoint);

        pActiveView.Extent = pEnv;
        pActiveView.Refresh();

    }

    private static IPoint GetMapCoordinatesFromScreenCoordinates(IPoint pScreenPoint, IActiveView pActiveView)
    {
        IScreenDisplay pScreenDisplay;
        IDisplayTransformation pDisplayTransformation;

        if (pScreenPoint == null || pScreenPoint.IsEmpty || pActiveView == null)
        {
            return null;
        }

        pScreenDisplay = pActiveView.ScreenDisplay;
        pDisplayTransformation = pScreenDisplay.DisplayTransformation;

        return pDisplayTransformation.ToMapPoint((int)pScreenPoint.X, (int)pScreenPoint.Y);
    }
4

1 に答える 1

0

スタンドアロンの WPF アプリではなく、ArcMap 用にアドインを作成したいというコメントが寄せられています。このリンクから始められると思います。これは、ArcMap のアドインを作成するための段階的な手順です。

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_custom_UI_elements_using_add_ins/0001000001ms000000/

開発には Visual Studio が必要です。

役に立った場合は、これを回答としてマークしてください。ありがとう

于 2013-10-23T13:43:14.930 に答える