Identify

0 голосов
спросил 29 Май, 10 от Swallow (2,740 баллов) в категории Программные продукты Esri
    Добрый вечер. Может кто подсказать как сделать в приложении VB свой identify tools.


            Dim pIdentDialog As ESRI.ArcGIS.CartoUI.IIdentifyDialog
            Dim pIdentDialog2 As ESRI.ArcGIS.CartoUI.IIdentifyDialog2
            Dim pIdentifyDialogProps As ESRI.ArcGIS.CartoUI.IIdentifyDialogProps
            Dim pEpoint As ESRI.ArcGIS.Geometry.IPoint
            Dim pLayer As ESRI.ArcGIS.Carto.IFeatureLayer
            pEpoint = New ESRI.ArcGIS.Geometry.Point

            pEpoint = AxMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x, e.y)
            pIdentDialog = New ESRI.ArcGIS.CartoUI.IdentifyDialog
            pIdentDialog.Map = AxMapControl1.ActiveView.FocusMap
            pIdentDialog.Display = AxMapControl1.ActiveView.ScreenDisplay
            pIdentifyDialogProps = pIdentDialog
            pIdentDialog.ClearLayers()
            pLayer = AxMapControl1.Map.Layer(0)
            pIdentDialog.AddLayerIdentifyPoint(pLayer, e.x, e.y)
            pIdentDialog2 = pIdentDialog
            pIdentDialog2.HideLayersComboBox = True
            pIdentDialog2.Visible = True

Такой вот работает вариант, но тут явно нужно указывать номер слоя. А у меня их несколько. Может есть другой способ?

3 Ответы

0 голосов
ответил 29 Май, 10 от TDenis (42,620 баллов)
0 голосов
ответил 29 Май, 10 от Swallow (2,740 баллов)

    Эм. А если это все делать с помощью мапконтрола?
0 голосов
ответил 29 Май, 10 от Swallow (2,740 баллов)
Хотя вроде разобрался) Спасибо.

А может вопрос не в тему, но все равно не знаете как сделать zoom out.

Zoom in сделал так
AxMapControl1.Extent = AxMapControl1.TrackRectangle

а вот зум аут что то не получается.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...