vcl-dxmapcontrolinformationprovider-21d56da8.md
A reference to an auxiliary information provider class.
TdxMapControlInformationProviderClass = class of TdxMapControlInformationProvider;
| Type | Description |
|---|---|
| TdxMapControlInformationProvider |
The base class for all information provider classes.
|
You can use the TdxMapControlInformationProviderClass type to refer to the following TdxMapControlInformationProvider class descendants:
TdxMapControlAzureMapGeocodeProviderAn Azure Maps Geocode information provider.TdxMapControlAzureMapGeolocationProviderAn Azure Maps Geolocation information provider.TdxMapControlAzureMapReverseGeocodeProviderAn Azure Maps Reverse Geocode information provider.TdxMapControlAzureMapRouteProviderAn Azure Maps Route information provider.
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;
#include "dxAzureMapInformationProviders.hpp" // Declares all Azure Maps information provider classes
// ...
void __fastcall TMyForm::CreateAzureMapsInformationProviders(const UnicodeString &AAzureKey)
{
TdxMapControlInformationProviders *AProviders;
TdxMapControlAzureMapInformationProvider *AProvider;
AProviders = dxMapControl1->InformationProviders;
AProviders->BeginUpdate(); // Initiates the following batch change
try
{
// Create all Azure Maps information providers
AProviders->Add(__classid(TdxMapControlAzureMapGeocodeProvider));
AProviders->Add(__classid(TdxMapControlAzureMapGeolocationProvider));
AProviders->Add(__classid(TdxMapControlAzureMapReverseGeocodeProvider));
AProviders->Add(__classid(TdxMapControlAzureMapRouteProvider));
for(int i = 0; i < AProviders->Count; i++) // Iterates through all created information providers
{
AProvider = dynamic_cast<TdxMapControlAzureMapInformationProvider*>(AProviders->Items[i]);
AProvider->AzureKey = AAzureKey; // Assigns the same Azure Maps account key to all providers
}
}
__finally
{
AProviders->EndUpdate(); // Calls EndUpdate regardless of the batch operation's success
}
}
The TdxMapControlInformationProviders.Add function accepts a TdxMapControlInformationProviderClass value as the AItemClass parameter.
See Also