TTMSFNCGoogleMapsPolygon.AddHole Method
Adds an inner hole to the polygon.
API unit family: TMSFNCGoogleMaps
Declaring type: TTMSFNCGoogleMapsPolygon
Syntax
function AddHole(ACoordinates: TTMSFNCMapsCoordinateRecArray): TTMSFNCMapsPolyElementHole; override;
virtual TTMSFNCMapsPolyElementHole* __fastcall AddHole(TTMSFNCMapsCoordinateRecArray ACoordinates);
Parameters
| Name | Description |
|---|---|
ACoordinates |
Coordinates used by the operation. |
Returns
The resulting maps poly element hole instance.
Usage examples
Add Complex Polygons with inner holes
Builds a Google Maps polygon and adds a hole for complex polygon rendering.
procedure TForm1.AddGoogleMapsComplexPolygon;
var
LOuter: TTMSFNCMapsCoordinateRecArray;
LInner: TTMSFNCMapsCoordinateRecArray;
LPolygon: TTMSFNCGoogleMapsPolygon;
begin
SetLength(LOuter, 4);
LOuter[0].Latitude := 37.782;
LOuter[0].Longitude := -122.447;
LOuter[1].Latitude := 37.782;
LOuter[1].Longitude := -122.425;
LOuter[2].Latitude := 37.768;
LOuter[2].Longitude := -122.425;
LOuter[3].Latitude := 37.768;
LOuter[3].Longitude := -122.447;
SetLength(LInner, 4);
LInner[0].Latitude := 37.778;
LInner[0].Longitude := -122.441;
LInner[1].Latitude := 37.778;
LInner[1].Longitude := -122.431;
LInner[2].Latitude := 37.772;
LInner[2].Longitude := -122.431;
LInner[3].Latitude := 37.772;
LInner[3].Longitude := -122.441;
LPolygon := TMSFNCGoogleMaps1.AddPolygon(LOuter, True);
LPolygon.FillColor := gcDodgerblue;
LPolygon.FillOpacity := 0.35;
LPolygon.StrokeColor := gcNavy;
LPolygon.AddHole(LInner);
end;
void __fastcall TForm1::AddGoogleMapsComplexPolygon()
{
TTMSFNCMapsCoordinateRecArray LOuter;
TTMSFNCMapsCoordinateRecArray LInner;
LOuter.Length = 4;
LOuter[0].Latitude = 37.782;
LOuter[0].Longitude = -122.447;
LOuter[1].Latitude = 37.782;
LOuter[1].Longitude = -122.425;
LOuter[2].Latitude = 37.768;
LOuter[2].Longitude = -122.425;
LOuter[3].Latitude = 37.768;
LOuter[3].Longitude = -122.447;
LInner.Length = 4;
LInner[0].Latitude = 37.778;
LInner[0].Longitude = -122.441;
LInner[1].Latitude = 37.778;
LInner[1].Longitude = -122.431;
LInner[2].Latitude = 37.772;
LInner[2].Longitude = -122.431;
LInner[3].Latitude = 37.772;
LInner[3].Longitude = -122.441;
TTMSFNCGoogleMapsPolygon *LPolygon = TMSFNCGoogleMaps1->AddPolygon(LOuter, true);
LPolygon->FillColor = gcDodgerblue;
LPolygon->FillOpacity = 0.35;
LPolygon->StrokeColor = gcNavy;
LPolygon->AddHole(LInner);
}