The snapping service of GMF. Responsible of collecting the treeCtrls that support snapping and store them here. As soon as a treeCtrl state becomes 'on', a WFS GetFeature request is issued to collect the features at the map view location. A new request is sent every time the map is panned or zoomed for each treeCtrl that are still 'on'.

Features returned by these requests get bound to a ol.interaction.Snap, which allows the snapping to occur on other places where vector features are drawn or modified.

Param: $http

Angular $http service.

Param: $q

The Angular $q service.

Param: $rootScope

Angular rootScope.

Param: $injector

Angular injector.

Param: $timeout

Angular timeout service.

Param: gmfDatasourceFileGroup

Group that contains file data sources.

Param: gmfSnappingConfig

Snapping configuration options for the features in the Draw tool and in the "Layer Import / Local" tool.

Param: gmfThemes

The gmf Themes service.

Param: gmfTreeManager

The gmf TreeManager service.

Param: ngeoFeatures

Collection of features.

Param: gmfSnappingOptions

The options.

Ng Inject

Ngdoc

service

Ngname

gmfSnapping

Constructors

  • The snapping service of GMF. Responsible of collecting the treeCtrls that support snapping and store them here. As soon as a treeCtrl state becomes 'on', a WFS GetFeature request is issued to collect the features at the map view location. A new request is sent every time the map is panned or zoomed for each treeCtrl that are still 'on'.

    Features returned by these requests get bound to a ol.interaction.Snap, which allows the snapping to occur on other places where vector features are drawn or modified.

    Parameters

    • $http: IHttpService

      Angular $http service.

    • $q: IQService

      The Angular $q service.

    • $rootScope: IScope

      Angular rootScope.

    • $injector: IInjectorService

      Angular injector.

    • $timeout: ITimeoutService

      Angular timeout service.

    • gmfDatasourceFileGroup: any

      Group that contains file data sources.

    • gmfSnappingConfig: any

      Snapping configuration options for the features in the Draw tool and in the "Layer Import / Local" tool.

    • gmfThemes: any

      The gmf Themes service.

    • gmfTreeManager: any

      The gmf TreeManager service.

    • ngeoFeatures: Collection<Feature<Geometry>>

      Collection of features.

    • gmfSnappingOptions: any

      The options.

    Returns EditingSnappingService

    Ng Inject

    Ngdoc

    service

    Ngname

    gmfSnapping

Properties

cacheFileDataSource_: {}

A cache for the File data sources that are added in the FileGroup, i.e. for example when a KML is added, then a File data source is added to the FileGroup's collection, and their features need to be snappable.

Type declaration

    cache_: {}

    A cache containing all available snappable items, in which the listening of the state of the treeCtrl is registered and unregistered.

    Type declaration

      gmfDatasourceFileGroup_: any
      gmfSnappingConfig_: any
      gmfSnappingOptions_: any
      gmfThemes_: any
      gmfTreeManager_: any
      http_: IHttpService
      injector_: IInjectorService
      listenerKeys_: EventsKey[]
      mapViewChangePromise_: IPromise<void>

      Reference to the promise taking care of calling all GetFeature requests of the currently active cache items after the map view changed. Used to cancel if the map view changes often within a short period of time.

      map_: Map
      ngeoFeaturesSnapInteraction_: CustomSnap
      ngeoFeatures_: Collection<Feature<Geometry>>
      ngeoSnappingSource_: VectorSource<unknown>
      ogcServers_: any

      A reference to the OGC servers loaded by the theme service.

      q_: IQService
      rootScope_: IScope
      timeout_: ITimeoutService
      treeCtrlsUnregister_: (() => void)

      Type declaration

        • (): void
        • Returns void

      Methods

      • Activate a cache item by adding a Snap interaction to the map and launch the initial request to get the features.

        Parameters

        Returns void

      • Deactivate a cache item by removing the snap interaction and clearing any existing features.

        Parameters

        Returns void

      • In order for a ol.interaction.Snap to work properly, it has to be added to the map after any draw interactions or other kinds of interactions that interacts with features on the map.

        This method can be called to make sure the Snap interactions are on top.

        Returns void

      • Get the OGC server.

        Parameters

        • treeCtrl: LayertreeController

          The layer tree controller

        Returns any

        The OGC server.

      • Get the configuration required to do WFS requests (for snapping purpose) from a Layertree controller that has a leaf node.

        The following requirements must be met in order for a treeCtrl to be considered supporting WFS:

        1. ogcServers objects are loaded
        2. its node type property is equal to WMS
        3. in its node childLayers property, the queryable property is set to true
        4. the ogcServer defined in 3) has the wfsSupport property set to true.

        Parameters

        • treeCtrl: LayertreeController

          The layer tree controller

        Returns WFSConfig

        The configuration object.

      • Called when the "visible" property of a File data source changes. Add or remove the Snap interaction for that data source depending on the property value.

        Parameters

        • fileDataSource: default

        Returns void

      • Called when a File data source is added to the File Group (imported geospatial files). Make its features snappable.

        Parameters

        • evt: Event | BaseEvent

          Event

        Returns void

      • Called when a File data source is removed from the File Group. Remove the features from being snappable.

        Parameters

        • evt: Event | BaseEvent

          Event

        Returns void

      • Called when the map view changes. Load all active cache items after a small delay. Cancel any currently delayed call, if required.

        Returns void

      • Called when the themes change. Get the OGC servers, then listen to the tree manager Layertree controllers array changes.

        Returns void

      • Parameters

        • treeCtrl: LayertreeController

          The layer tree controller

        • newVal: boolean

          New value for the layer

        Returns void

      • Parameters

        • treeCtrl: LayertreeController

          The layer tree controller

        Returns boolean

        True if state is on and snapping is activated for that layer.

      • For a specific cache item, issue a new WFS GetFeatures request. The returned features set in the item collection of features (they replace any existing ones first).

        Parameters

        Returns void

      • Registers a newly added Layertree controller 'leaf'. If it's snappable, create and add a cache item with every configuration required to do the snapping. It becomes active when its state is set to 'on'.

        Parameters

        • treeCtrl: LayertreeController

          Layertree controller to register

        Returns void

      • Unregisters all removed layertree controllers 'leaf'. Remove the according cache item and deactivate it as well. Unregister events.

        Returns void

      Generated using TypeDoc