Opis
Komponent niewidoczny z palety „Maps”. Jedno okno prognozy: nagłówek miejsca, zakładki Dziś / 7 dni, pasek godzin, kafelki dni, wykresy — dane z powiązanych TWeatherHeader, TWeatherScene, TWeatherHourStrip, TWeatherDayItems, TWeatherChart. Klik obszaru (ShowOnAreaClick) → ShowAt → TWeather.ApplyCoords + Refresh → PopupJSON (składanka ViewJSON/SceneJSON) → Host / OnShow. Nie używaj TMapInfoWindow do pogody — InfoWindow zostaje dla markerów, samolotów (TAircraft) i łodzi (TBoats). Alias: TInfoWindowWeather = TWeatherPopup.
Moduł: MapCommon.Weather.Popup · Klasa bazowa: TComponent · Platformy: VCL + FMX

Demo na żywo
Prawy/lewy klik województwa → pełne okno prognozy; ShowAt = invoke; checkboxy Show*.
Prawy klik obszaru → okno prognozy; Header+HourStrip+…; checkboxy Show*; ShowAt = invoke.
▶ ▶ Demo: TWeatherPopup (pełne okno)Prostszy host Scene + pola JSON.
▶ Popup Scene + dane (wcześniejszy)Okno/Dymek/Napis dla markerów — nie pogoda.
▶ TMapInfoWindow (markery)Funkcje
- Składa Header + Scene + HourStrip + DayItems + Chart w
PopupJSON— jedno gotowe okno. ShowOnAreaClick(domyślnie True) — klik obszaru na mapie otwiera okno prognozy.AutoRequest— ShowAt woła Weather.ApplyCoords + RefreshAsync.- Styl okna: GradientTop #0a3a8c, MaxWidth 440, CornerRadius 16.
- Host
IWeatherPopupHost(ApplyWeatherPopup / HideWeatherPopup). - Alias
TInfoWindowWeather; osobno odTMapInfoWindow(markery/planes/boats). - Weather.Popup ↔ Popup.Weather AutoLink (jak Scene).
Właściwości
| Właściwość | Opis |
|---|---|
| Weather, Header, Scene, HourStrip, DayItems, Chart | Powiązania (AutoLink na formie). |
| ShowOnAreaClick, ShowOnMapClick, AutoRequest | Kiedy otwierać; czy odpytać TWeather. |
| ShowHeader, ShowScene, ShowHourStrip, ShowDayItems, ShowChart | Checkboxy Show* — które bloki w oknie. |
| Style.Theme | wtsIOS (glass) / wtsAndroid (Material) / wtsCustom — ApplyThemeSkin wypełnia kolory. |
| Style.Glass, Blur, Opacity | Szkło iOS: Scene za oknem; blur px; przezroczystość 0..1. |
| Style.BorderTop/Right/Bottom/Left, BorderWidth | Obramowanie per strona (CSS color) — edytowalne w Object Inspectorze. |
| Style.BackgroundColor, Gradient*, CornerRadius, MaxWidth | Tło glass lub gradient; zaokrąglenie; szerokość. |
| Host, Active, AutoLinkComponents | Host IWeatherPopupHost; aktywność; AutoLink. |
Zdarzenia
| Zdarzenie | Opis |
|---|---|
| OnShow(PopupJSON) | Okno otwarte / przebudowane — payload dla hosta (WebView / HTML). |
| OnHide | Okno zamknięte. |
| OnPopup(Lat,Lon,AreaName,Admin,PopupJSON) | Jak OnShow + miejsce. |
Metody
| Metoda | Opis |
|---|---|
| Show / ShowAt / ShowForJSON / Hide | Sterowanie oknem. |
| ApplyJSON / ApplyFromWeather / PopupJSON | Składanka bez sieci. |
| DetectLinkedComponents | Weather + Header + Scene + HourStrip + DayItems + Chart. |
Przykłady
FormCreate: Popup + Header/Scene/HourStrip/DayItems/Chart
// Jedno okno prognozy — Header+Scene+HourStrip+DayItems+Chart
// TMapInfoWindow zostaje dla markerów / samolotów / łodzi (NIE pogoda).
procedure TForm1.FormCreate(Sender: TObject);
begin
Weather1.ApiKey := GetEnvironmentVariable('WEATHER_API_KEY');
Weather1.ForecastKind := wfkDaily7;
Weather1.Map := TileMap1;
Weather1.Areas := MapAreas1;
Header1.Weather := Weather1; // ikona + nazwa obszaru + temp
Header1.IconClickTogglesHourStrip := True; // klik ikony → HourStrip
Scene1.Weather := Weather1;
HourStrip1.Weather := Weather1;
DayItems1.Weather := Weather1;
Chart1.Weather := Weather1;
WeatherPopup1.Weather := Weather1; // reverse Weather.Popup
WeatherPopup1.Header := Header1;
WeatherPopup1.Scene := Scene1;
WeatherPopup1.HourStrip := HourStrip1;
WeatherPopup1.DayItems := DayItems1;
WeatherPopup1.Chart := Chart1;
WeatherPopup1.ShowOnAreaClick := True; // klik / RMB obszaru → jedno okno
WeatherPopup1.ShowHeader := True; // checkboxy Show*
WeatherPopup1.ShowOnMapClick := False;
WeatherPopup1.AutoRequest := True;
WeatherPopup1.Style.GradientTop := '#0a3a8c'; // styl okna prognozy
WeatherPopup1.OnShow := WeatherPopupShow; // PopupJSON → Host / WebView
// Invoke: WeatherPopup1.ShowAt(52.23, 21.01, 'Warszawa', 'PL');
end;
procedure TForm1.WeatherPopupShow(Sender: TObject; const PopupJSON: string);
begin
// Host (IWeatherPopupHost) albo WebView: otwórz okno prognozy z PopupJSON
// (header + scene + hourStrip + dayItems + chart)
Memo1.Text := PopupJSON;
end;Pełna lista API
Generowana z deklaracji w kodzie (Source/*.pas): wszystkie opublikowane właściwości i zdarzenia TWeatherPopup (także dziedziczone), właściwości publiczne i metody publiczne.
Właściwości opublikowane (18)
| Właściwość | Typ | Domyślnie | Opis |
|---|---|---|---|
Weather | TWeather | ||
Header | TWeatherHeader | ||
Scene | TWeatherScene | ||
HourStrip | TWeatherHourStrip | ||
DayItems | TWeatherDayItems | ||
Chart | TWeatherChart | ||
Host | TComponent | ||
AutoLinkComponents | Boolean | True | Automatycznie łącz pierwszy dostawcę wyszukiwania / TMapAreas / TEditMap z formy |
Active | Boolean | True | |
ShowOnAreaClick | Boolean | True | |
ShowOnMapClick | Boolean | False | |
AutoRequest | Boolean | True | |
ShowHeader | Boolean | True | |
ShowScene | Boolean | True | |
ShowHourStrip | Boolean | True | |
ShowDayItems | Boolean | True | |
ShowChart | Boolean | True | |
Style | TWeatherPopupStyle | Styl mapy (enum): kafle OSM / satelita / teren / własne (TTileMap*) lub styl wektorowy (T3DMap*) |
Zdarzenia (3)
| Zdarzenie | Typ | Opis |
|---|---|---|
OnShow | TWeatherPopupEvent | |
OnHide | TNotifyEvent | |
OnPopup | TWeatherPopupPlaceEvent |
Właściwości publiczne – tylko w kodzie (6)
| Właściwość | Typ | Opis |
|---|---|---|
LastPopupJSON | string | |
Visible | Boolean | Standardowa właściwość kontrolki VCL |
PlaceName | string | |
PlaceAdmin | string | |
Lat | Double | |
Lon | Double |
Metody publiczne (6)
| Metoda | Opis |
|---|---|
procedure ApplyJSON(const JSON: string) | |
procedure ApplyFromWeather | |
procedure Show | |
procedure Hide | |
function PopupJSON: string | |
procedure DetectLinkedComponents | Wyszukuje na formie i łączy dostawcę / TMapAreas / TEditMap |
Pełny opis wszystkich właściwości: dokumentacja komponentów map.
Zobacz też
TWeather
Pogoda na mapie: ikony i temperatura na obszarach (skórki iOS glass / Android / custom); JSON z weather.imetroll.com (current / godzinowo / 7 dni).
TWeatherHeader
Nagłówek okna pogody: ikona WMO, nazwa miejsca i temperatura. Klik ikony pokazuje pasek godzin.
TWeatherScene
Profesjonalna, realistyczna animacja tła aplikacji pogodowej (nie cartoon): dzień/noc, miękkie chmury, deszcz, słońce, wiatr, gwiazdy. Dane tylko z TWeather — Scene nigdy nie woła serwera.
TWeatherHourStrip
Pasek godzinowy prognozy (ikony WMO + temperatura). Wypełnia okno po danych z TWeather.