ESRI Network Layer CoClass.
Product Availability
Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
Interfaces
| Interfaces | Description | 
|---|---|
| IConnectionPointContainer | Supports connection points for connectable objects. | 
| 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. | 
| 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. | 
| 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. | 
Event Interfaces
| Interfaces | Description | 
|---|---|
| ILayerEvents (default) | Provides access to events that occur when layer visibility changes. | 
Remarks
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.
[C#]
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);
}
[Visual Basic .NET]
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
Working with Events
[Visual Basic 6.0]
When working with NetworkLayer's default outbound interface in Visual Basic 6 declare variables as follows: Private WithEvents pNetworkLayer as NetworkLayer