Komponenty Delphi pomoc
Start › Komponenty Delphi › TWeatherPopup

TWeatherPopup

Pełne okno prognozy (skórki iOS glass / Android / custom): nagłówek, pasek godzin, 7 dni i wykresy. Scene za szkłem.

VCLFMXniewidoczny
▶ Zobacz na żywo – demo HTML

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

TWeatherPopup – podgląd poglądowy
Pełne okno prognozy po kliknięciu obszaru — TWeatherPopup składa Header/Scene/HourStrip/DayItems/Chart. Podgląd poglądowy (nie zrzut z Delphi) – prawdziwa strona mapy komponentu w ramce imitującej formę.

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

Nigdy nie woła weather.imetroll.com — tylko TWeather.
TMapInfoWindow = markery / TAircraft / TBoats / GeoFencing — nie pogoda.

Właściwości

WłaściwośćOpis
Weather, Header, Scene, HourStrip, DayItems, ChartPowiązania (AutoLink na formie).
ShowOnAreaClick, ShowOnMapClick, AutoRequestKiedy otwierać; czy odpytać TWeather.
ShowHeader, ShowScene, ShowHourStrip, ShowDayItems, ShowChartCheckboxy Show* — które bloki w oknie.
Style.ThemewtsIOS (glass) / wtsAndroid (Material) / wtsCustom — ApplyThemeSkin wypełnia kolory.
Style.Glass, Blur, OpacitySzkło iOS: Scene za oknem; blur px; przezroczystość 0..1.
Style.BorderTop/Right/Bottom/Left, BorderWidthObramowanie per strona (CSS color) — edytowalne w Object Inspectorze.
Style.BackgroundColor, Gradient*, CornerRadius, MaxWidthTło glass lub gradient; zaokrąglenie; szerokość.
Host, Active, AutoLinkComponentsHost IWeatherPopupHost; aktywność; AutoLink.

Zdarzenia

ZdarzenieOpis
OnShow(PopupJSON)Okno otwarte / przebudowane — payload dla hosta (WebView / HTML).
OnHideOkno zamknięte.
OnPopup(Lat,Lon,AreaName,Admin,PopupJSON)Jak OnShow + miejsce.

Metody

MetodaOpis
Show / ShowAt / ShowForJSON / HideSterowanie oknem.
ApplyJSON / ApplyFromWeather / PopupJSONSkładanka bez sieci.
DetectLinkedComponentsWeather + 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śćTypDomyślnieOpis
WeatherTWeather
HeaderTWeatherHeader
SceneTWeatherScene
HourStripTWeatherHourStrip
DayItemsTWeatherDayItems
ChartTWeatherChart
HostTComponent
AutoLinkComponentsBooleanTrueAutomatycznie łącz pierwszy dostawcę wyszukiwania / TMapAreas / TEditMap z formy
ActiveBooleanTrue
ShowOnAreaClickBooleanTrue
ShowOnMapClickBooleanFalse
AutoRequestBooleanTrue
ShowHeaderBooleanTrue
ShowSceneBooleanTrue
ShowHourStripBooleanTrue
ShowDayItemsBooleanTrue
ShowChartBooleanTrue
StyleTWeatherPopupStyleStyl mapy (enum): kafle OSM / satelita / teren / własne (TTileMap*) lub styl wektorowy (T3DMap*)

Zdarzenia (3)

ZdarzenieTypOpis
OnShowTWeatherPopupEvent
OnHideTNotifyEvent
OnPopupTWeatherPopupPlaceEvent

Właściwości publiczne – tylko w kodzie (6)

WłaściwośćTypOpis
LastPopupJSONstring
VisibleBooleanStandardowa właściwość kontrolki VCL
PlaceNamestring
PlaceAdminstring
LatDouble
LonDouble

Metody publiczne (6)

MetodaOpis
procedure ApplyJSON(const JSON: string)
procedure ApplyFromWeather
procedure Show
procedure Hide
function PopupJSON: string
procedure DetectLinkedComponentsWyszukuje na formie i łączy dostawcę / TMapAreas / TEditMap

Pełny opis wszystkich właściwości: dokumentacja komponentów map.

Zobacz też