TdxMapControlInformationProviders.Add(TdxMapControlInformationProviderClass) Method
In This Article
Creates an auxiliary map information provider of the required type and adds the provider to the collection.
#Declaration
Delphi
function Add(AItemClass: TdxMapControlInformationProviderClass): TdxMapControlInformationProvider;
#Parameters
Name | Type | Description |
---|---|---|
AItem |
Tdx |
The reference to the required information provider type class. |
#Returns
Type | Description |
---|---|
Tdx |
The created information provider. To access all public API members of the created map information provider, cast the returned object to the corresponding terminal Tdx |
#Remarks
Call the Add
function to create any supported auxiliary map information provider and add it to the collection. All created information providers are accessible through the Items property.
#Code Example: Create and Configure Azure Maps Information Providers
The following code example implements a procedure that accepts an Azure Maps account key, and creates and configures all Azure Maps information provider components:
uses
dxAzureMapInformationProviders; // Declares all Azure Maps information provider classes
// ...
procedure TMyForm.CreateAzureMapsInformationProviders(const AAzureKey: string);
var
AProviders: TdxMapControlInformationProviders;
AProvider: TdxMapControlAzureMapInformationProvider;
I: Integer;
begin
AProviders := dxMapControl1.InformationProviders;
AProviders.BeginUpdate; // Initiates the following batch change
try
// Create all Azure Maps information providers
AProviders.Add(TdxMapControlAzureMapGeocodeProvider);
AProviders.Add(TdxMapControlAzureMapGeolocationProvider);
AProviders.Add(TdxMapControlAzureMapReverseGeocodeProvider);
AProviders.Add(TdxMapControlAzureMapRouteProvider);
for I := 0 to AProviders.Count - 1 do // Iterates through all created information providers
begin
AProvider := AProviders.Items[I] as TdxMapControlAzureMapInformationProvider;
AProvider.AzureKey := AAzureKey; // Assigns the same Azure Maps account key to all providers
end;
finally
AProviders.EndUpdate; // Calls EndUpdate regardless of the batch operation's success
end;
end;
See Also