![]() |
This document is archived and information here might be outdated. Recommended version. |
Esri Network Layer CoClass.
| Interfaces | Description |
|---|---|
| IConnectionPointContainer (esriDisplay) | |
| IDataLayer | Provides access to members that control the data source properties of a layer. |
| IDataLayer2 | Provides access to additional members that control the data source properties of a layer. |
| IDataset (esriGeoDatabase) | Provides access to members that supply dataset information. |
| IDisplayAdmin (esriDisplay) | Provides access to members that control display administration. |
| IDisplayFilterManager (esriDisplay) | Provides access to members that control display filter management. |
| IGeoDataset (esriGeoDatabase) | Provides access to members that provide information about a Geographic Dataset. |
| IIdentify | Provides access to members that identify features. |
| IIdentify2 | Provides access to members that set the current scale of the display. |
| ILayer | Provides access to members that work with all layers. |
| ILayer2 | Provides access to additional members that work with all layers. |
| ILayerDrawingProperties | Provides access to members that control layer drawing properties. |
| ILayerEffects | Provides access to members that control layer effects. |
| ILayerEvents | Provides access to events that occur when layer visibility changes. |
| ILayerExtensions | Provides access to the extensions of a layer. |
| ILayerGeneralProperties | Provides access to layer general properties. |
| ILayerInfo | Provides access to members that return layer images. |
| ILayerPosition | Provides access to members that control a layer's default position in the map interface. |
| ILegendInfo | Provides access to members that control legend information provided by a renderer. |
| IMapLevel (esriDisplay) | Provides access to members that control the map level. |
| INetworkLayer | Provides access to members that control a network layer. |
| INetworkRendererCollection | Provides access to members that manage the collection of network renderers. |
| IPersistStream (esriSystem) | |
| IPropertySupport (esriSystem) | Provides access to members that set a default property on an object. |
| IPublishLayer | Provides access to a layer's capability for being published with the ArcGIS Publisher extension. |
| ITimeData | Provides access to time related properties of a layer. |
| ITimeData2 | Provides access to time related properties of a layer. |
| ITimeDataCustomUI | Provides access to interface that indicates if a layer has a associated UI of its own. |
| ITimeDataDisplay | Provides access to time animation related properties of a layer. |
The NetworkLayer is a type of Layer in the Map that holds a reference to a NetworkDataset. You can open its network dataset by calling INetworkLayer::NetworkDataset.
The following code shows how to open a shapefile network dataset, then add it to a Map using a NetworkLayer:
void AddNetworkLayer(string shapefilePath, string networkDatasetName, IMap map)
{
IWorkspaceFactory workspaceFactory = new ShapefileWorkspaceFactoryClass() as IWorkspaceFactory;
IWorkspace workspace = workspaceFactory.OpenFromFile(sShapefilePath, 0);
IWorkspaceExtensionManager wsExtMgr = workspace as IWorkspaceExtensionManager;
UID myUID = New UIDClass();
myUID.Value = "esriGeoDatabase.NetworkDatasetWorkspaceExtension";
IWorkspaceExtension wsExt = wsExtMgr.FindExtension(myUID);
IDatasetContainer2 dsCont = wsExt as IDatasetContainer2;
IDataset dataset = dsCont.DatasetByName(esriDTNetworkDataset, networkDatasetName)
INetworkDataset networkDataset = dataset as INetworkDataset;
INetworkLayer networkLayer = New NetworkLayerClass();
networkLayer.NetworkDataset = networkDataset;
map.AddLayer(networkLayer);
}
The following code shows how to open a shapefile network dataset, then add it to a Map using a NetworkLayer:
Sub AddNetworkLayer(shapefilePath As String, networkDatasetName As String, map As IMap)
Dim workspaceFactory As IWorkspaceFactory = New ShapefileWorkspaceFactory
Dim workspace As IWorkspace = workspaceFactory.OpenFromFile(sShapefilePath, 0)
Dim wsExtMgr As IWorkspaceExtensionManager = CType(workspace, IWorkspaceExtensionManager)
Dim myUID As New UID
myUID.Value = "esriGeoDatabase.NetworkDatasetWorkspaceExtension"
Dim wsExt As IWorkspaceExtension = wsExtMgr.FindExtension(myUID)
Dim dsCont As IDatasetContainer2 = CType(wsExt, IDatasetContainer2)
Dim dataset As IDataset = dsCont.DatasetByName(esriDTNetworkDataset, networkDatasetName)
Dim networkDataset As INetworkDataset = CType(dataset, INetworkDataset)
Dim networkLayer As INetworkLayer = New NetworkLayer
networkLayer.NetworkDataset = networkDataset
map.AddLayer(networkLayer)
End Sub