A basic way of displaying the radar image is as follows
WMS : TECShapeMarker;
WMS_Layer : TECNativeLayer;
...
procedure TForm6.FormCreate(Sender: TObject);
begin
WMS_Layer := TECNativeLayer.Create(map,'WMS_dwd.de');
WMS := WMS_Layer.Shapes.AddMarker(0,0);
WMS.WaitAnimation := false;
WMS_Layer.Observer.OnMapEndMove := MapEndMove;
WMS_Layer.Visible := true;
end;
procedure TForm6.FormDestroy(Sender: TObject);
begin
WMS_Layer.Free;
end;
procedure TForm6.MapEndMove(Sender: TObject);
begin
WMS.filename := 'https://maps.dwd.de/geoserver/dwd/wms?service=WMS&version=1.1.0&request=GetMap&layers=dwd%3ANiederschlagsradar&transparent=TRUE&SRS=EPSG:4326&BBOX='+doubletostr(map.SouthWestLongitude)+'%2C'+doubletostr(map.SouthWestLatitude)+'%2C'+doubletostr(map.NorthEastLongitude)+'%2C'+doubletostr(map.NorthEastLatitude)+'&width='+inttostr(round(map.width))+'&height='+inttostr(round(map.height))+'&styles=&format=image/png';
WMS.SetBounds(map.NorthEastLatitude, map.NorthEastLongitude, map.SouthWestLatitude, map.SouthWestLongitude);
WMS.fitBounds := true;
end;
Basically, we use a marker that fills the entire map and displays the radar image we request each time we change position.
The best thing would be to create a specific layer for WMS. I'll probably add this to my todo list, but the principle is the same.