TdxMapControlAzureMapGeocodeProvider.Execute(IdxAzureMapGeocodeQueryParams,TdxAzureMapGeocodeRequestResponse) Method
Sends a query to an Azure Maps server and returns the result.
#Declaration
procedure Execute(const AParams: IdxAzureMapGeocodeQueryParams; out AGeocodeResponse: TdxAzureMapGeocodeRequestResponse);
#Parameters
Name | Type | Description |
---|---|---|
AParams | Idx |
Accepts a configured query parameters container. Call the Create |
AGeocode |
Tdx |
Returns a container populated with information returned by a server. Important Every Call the Free procedure (in Delphi) or use the |
#Remarks
Call the Execute
procedure to send a geocode query to an Azure Maps server and wait for a response returned as the AGeocodeResponse
parameter.
#Code Example: Obtain Point Coordinates by Address
The following code example implements a function that uses a configured information provider component to return the point on a map that corresponds to the specified address:
uses
dxAzureMapInformationProviders; // Declares TdxMapControlAzureMapGeocodeProvider
// ...
function TMyForm.GetAddressCoordinates(const AAddress: string): TdxMapControlGeoPoint;
var
AParams: IdxAzureMapGeocodeQueryParams;
AResponse: TdxAzureMapGeocodeRequestResponse;
AGeometry: TGeoJSONGeometry;
begin
AResult := nil;
AParams := dxMapControl1AzureMapGeocodeProvider1.CreateQueryParams;
AParams.Query := AAddress;
dxMapControl1AzureMapGeocodeProvider1.Execute(AParams, AResponse);
if AResponse <> nil then
begin
if AResponse.IsSuccess then
begin
AGeometry := AResponse.Features.First.Geometry;
AResult := TdxMapControlGeoPoint.Create(AGeometry.Coordinates[1], AGeometry.Coordinates[0]);
end;
end;
end;
#Asynchronous Queries and Server Responses
The Execute
procedure runs in the main thread and, therefore, locks the application UI until the corresponding server response or a timeout error.
To keep your UI responsive, you can call the ExecuteAsync procedure instead. Handle the OnResponse event to process a server response when the information provider receives it.