2013-10-23 74 views
1

我從本網站 http://forums.arcgis.com/threads/30635-How-to-Select-Feature-by-XY-Location-and-Highlight-it-in-ArcMap-9.3-programmaticallyArcGIS中使用的參考

它涉及縮放到一個MapPoint借用了這個代碼。 但我不知道如何實現這一點。 或至少需要或使用的引用。

因爲我在arcgis和c#總noob。 如果有更多經驗的人可以幫助我 它將不勝感激。

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); 
    } 
+0

你想達到什麼目的?要在WPF應用程序中將要素圖層添加到底圖中,然後在點擊/單擊要素圖層的要素時,是否要將該位置放大?你已經完成底圖部分和要素圖層部分了嗎?您是否已經使用ESRI API參考創建了一個WPF應用程序? – azmuhak

+0

@azmuhak我想放大zo座標(如果可以在可停靠的窗口中通過事件)我只需要給它座標,它就會去那裏。 – Robin

+0

明白了。你還可以在上面的評論中回答我的其他問題嗎? – azmuhak

回答

0

我從您的意見中得到,您希望爲ArcMap而不是獨立的WPF應用程序添加內容。我相信這個鏈接會讓你開始。這是創建插件添加爲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的發展一步步的過程。

請標記爲答案,如果它幫助你。 謝謝

+0

你得到了正確的部分。 但是,這並沒有幫助我使我需要的變焦。 如果你知道任何關於它,將不勝感激。 – Robin

+0

你得到的代碼是可以的。但是在代碼之前和之後缺少很多東西。我正在討論項目設置和添加服務引用,並編寫標記文件和最終將添加這兩種方法的c#類。這就是爲什麼我分享了該鏈接以幫助您開始使用該鏈接的基本插件,然後嘗試將這些功能添加到該基本項目中。如果此時出現任何問題,請將其發佈到此處,我們將看到如何解決該問題。 – azmuhak