Deutsch

How To: Zoomen auf ausgewählte Features mit einem festgelegten Maßstab

Zusammenfassung

Die folgenden Informationen beschreiben die Vorgehensweise zum Zoomen auf ein ausgewähltes Feature in ArcMap mit einem festgelegten Maßstab.

Hinweis: 
Die Informationen in diesem Artikel gelten nur für die ArcGIS-Versionen 8.x und 9.x. Visual Basic for Applications (VBA) für ArcMap und ArcCatalog werden in ArcGIS 10 nicht mehr unterstützt.

Vorgehensweise

  1. Navigieren Sie in ArcMap zu Werkzeuge > Makros > Visual Basic-Editor.
  2. Blenden Sie auf der linken Seite des Fensters "Visual Basic-Editor" das Element Normal (Normal.mxt) oder Projizieren ein.
  3. Blenden Sie das Element ArcMap-Objekte ein.
  4. Wählen Sie das Modul ThisDocument aus, klicken Sie mit der rechten Maustaste, und wählen Sie View Code aus.
  5. Kopieren Sie den folgenden Code, und fügen Sie ihn ein:
    'zoom to selected feature at specified scale
    Sub ZoomSelectedToScale()
    
        Dim pDoc As IMxDocument
        Set pDoc = ThisDocument
        Dim pMap As IMap
        Set pMap = pDoc.FocusMap
    
        Dim pLayer As IFeatureLayer
        Dim pFSel As IFeatureSelection
        Set pLayer = pMap.Layer(0)
        Set pFSel = pLayer
    
        'Get the selected features
        Dim pSelSet As ISelectionSet
        Set pSelSet = pFSel.SelectionSet
    
        Dim pEnumGeom As IEnumGeometry
        Dim pEnumGeomBind As IEnumGeometryBind
    
        Set pEnumGeom = New EnumFeatureGeometry
        Set pEnumGeomBind = pEnumGeom
        pEnumGeomBind.BindGeometrySource Nothing, pSelSet
    
        Dim pGeomFactory As IGeometryFactory
        Set pGeomFactory = New GeometryEnvironment
    
        Dim pGeom As IGeometry
        Set pGeom = pGeomFactory.CreateGeometryFromEnumerator(pEnumGeom)
    
        'pDoc.ActiveView.Refresh
        pDoc.ActiveView.Extent = pGeom.Envelope
        pMap.MapScale = 2000   'change this value to the desired scale
        pDoc.ActiveView.Refresh
    
    End Sub
    Hinweis:
    Zum Ausführen dieses Codes kann eine Kurzbefehltaste erstellt werden. 
    
    1. Wählen Sie Werkzeuge > Anpassen aus, um das Dialogfeld Anpassen zu öffnen.
    2. Wählen Sie die Registerkarte Befehle aus.
    3. Wählen Sie im Listenfeld [UIControls] die Option Kategorien aus.
    4. Wählen Sie Unbenannt aus der Dropdown-Liste Speichern in aus, um die Schaltfläche in diesem Kartendokument zu speichern. Wählen Sie Normal aus, um die Schaltfläche in allen ArcMap-Dokumenten auf dem Computer zu speichern.
    5. Klicken Sie auf New UIControl.
    6. Wählen Sie UIButtonControl aus, und klicken Sie auf Erstellen.
    7. Ziehen Sie das neue UIButtonControl auf die gewünschte Werkzeugleiste.
    8. Schließen Sie das Dialogfeld Anpassen
  6. Ändern Sie den Wert 2000 in der Zeile "pMap.MapScale = 2000" in den gewünschten Maßstab.
  7. Kehren Sie zu ArcMap zurück. Fügen Sie bei Bedarf zuerst einen Layer hinzu. Wählen Sie mit dem Werkzeug "Features auswählen" ein Feature aus dem oberen Layer aus.
  8. Führen Sie den Code aus, indem Sie einen der folgenden Schritte ausführen:
    • Wechseln Sie zum Visual Basic-Editor. Klicken Sie auf eine beliebige Stelle im Codetext. Drücken Sie F5.
    • Wenn ein UIButtonControl zum Ausführen des Codes erstellt wurde, klicken Sie auf die Schaltfläche.

Referenzinformationen