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