TdxCustomMapControl.InformationProviders Property
Provides access to auxiliary map information providers.
#Declaration
property InformationProviders: TdxMapControlInformationProviders read; write;
#Property Value
Type | Description |
---|---|
Tdx |
A collection of auxiliary map information providers. |
#Remarks
Auxiliary map information providers complement a tile data provider and allow you to display additional map-related information, such as routes and addresses.
#Available API Functionality
Call InformationProviders
.Add, InformationProviders
.Clear, and InformationProviders
.Remove methods to manage auxiliary information providers in the Map Control. The InformationProviders
.Items property provides indexed access to all information providers in the collection.
Refer to the TdxMapControlInformationProviders class description for detailed information on all available options.
#Design-Time Information Provider Management
You can use the Collection Editor dialog to manage information providers at design time. To open the dialog, do either of the following:
- Select the Map Control, and click the ellipsis button to the right of the
InformationProviders
property in the Object Inspector. - Click Information Providers Editor… in the control’s context menu.
#Collection Editor
Click Add New, Delete Selected, Move Selected Up, and Move Selected Down buttons to manage map information providers.
The Add New button creates a new Azure Maps Geocode information provider. To create other supported map layers, open the button’s drop-down menu.
#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;