ArcObjects Library Reference  (Location)    

AGSAddressLocator_Example

[Visual Basic 6.0]

Public Function GetAGSAddressLocator(strServerName As String, strLocatorName As String) As esriGeoDatabase.ILocator
'+++ returns a locator retrieved from an ArcGIS Server
    Dim pConnectionProperties As esriSystem.IPropertySet
    Dim pAGSServerConnectionFactory As esriGISClient.IAGSServerConnectionFactory
    Dim pAGSServerConnectionName As esriGISClient.IAGSServerConnectionName
    Dim pLocatorManager As esriLocation.ILocatorManager2
    Dim pLocatorWorkspace As esriGeoDatabase.ILocatorWorkspace
   
    '+++ open an ArcGIS Server connection to the specified server machine
    Set pConnectionProperties = New esriSystem.PropertySet
    pConnectionProperties.SetProperty "machine", strServerName
    Set pAGSServerConnectionFactory = New esriGISClient.AGSServerConnectionFactory
    Set pAGSServerConnectionName = pAGSServerConnectionFactory.Open(pConnectionProperties, 0).FullName
   
    '+++ retrieve a LocatorWorkspace from the ArcGIS Server connection
    Set pLocatorManager = New esriLocation.LocatorManager
    Set pLocatorWorkspace = pLocatorManager.GetAGSLocatorWorkspace(pAGSServerConnectionName)
   
    '+++ return the locator with the specified name
    Set GetAGSAddressLocator = pLocatorWorkspace.GetLocator(strLocatorName)
   
End Function


[Visual Basic .NET]

    Sub AGSAddressLocator()
        ' Open an ArcGIS Server Connection
        Dim connectionProperties As IPropertySet = New PropertySet
        connectionProperties.SetProperty("machine", "AGSServer")
        Dim obj As System.Object = Activator.CreateInstance(Type.GetTypeFromProgID("esriGISClient.AGSServerConnectionFactory"))
        Dim agsServerConnectionFactory As IAGSServerConnectionFactory = obj
        Dim agsServerConnection As IAGSServerConnection = agsServerConnectionFactory.Open(connectionProperties, 0)

        ' Open the Locator Workspace
        obj = Activator.CreateInstance(Type.GetTypeFromProgID("esriLocation.LocatorManager"))
        Dim locatorManager As ILocatorManager2 = obj
        Dim agsLocatorWorkspace As ILocatorWorkspace = locatorManager.GetAGSLocatorWorkspace(agsServerConnection.FullName)
        Dim locator As ILocator = agsLocatorWorkspace.GetLocator("Geocode/UnitedStates")
    End Sub

[C#]

        public void AGSAddressLocator()
        {
            IPropertySet connectionProperties = new PropertySetClass();
            connectionProperties.SetProperty("machine", "AGSServer");

            // Open a workspace with an ArcGIS Server connection
            System.Object obj = Activator.CreateInstance(Type.GetTypeFromProgID("esriGISClient.AGSServerConnectionFactory"));
            IAGSServerConnectionFactory AGSServerConnectionFactory = obj as AGSServerConnectionFactory;
            IAGSServerConnection AGSServerConnection = AGSServerConnectionFactory.Open(connectionProperties, 0);

            // Get the locator workspace from the open workspace
            obj = Activator.CreateInstance(Type.GetTypeFromProgID("esriLocation.LocatorManager"));
            ILocatorManager2 locatorManager = obj as ILocatorManager2;
            IAGSServerConnectionName agsServerConnectionName = AGSServerConnection.FullName as IAGSServerConnectionName;
            ILocatorWorkspace locatorWorkspace = locatorManager.GetAGSLocatorWorkspace(agsServerConnectionName);

            ILocator agsLocator = locatorWorkspace.GetLocator("Geocode/UnitedStates");
        }