<prompt> Tengeneza programu ya wavuti ya JavaScriptTypeScript ambayo huchota data ya hali ya hewa kutoka kwa API ya nje kulingana na eneo la mtumiaji latitudo na longitudo. Onyesha halijoto ya sasa, unyevunyevu, na kasi ya upepo kwenye ukurasa. Sasisha data kila baada ya sekunde 30 bila kuonyesha upya ukurasa.  <response>: Ili kuunda programu ya wavuti inayochukua data ya hali ya hewa kutoka kwa API ya nje kulingana na eneo la mtumiaji, unaweza kufuata hatua hizi:1. Unda faili ya HTML yenye muundo msingi na vipengele ili kuonyesha taarifa ya hali ya hewa.html Programu ya Hali ya Hewa kichwa Programu ya Hali ya Hewa Halijoto: Unyevu: Kasi ya Upepo: div mwili html2. Jisajili ili upate akaunti isiyolipishwa kwenye na upate ufunguo wako wa API.3. Unda faili ya JavaScript au TypeScript inayoitwa app.js yenye msimbo ufuatao: javascriptconst apiKey YOUR_API_KEY; Badilisha na ufunguo wako wa API ya OpenWeatherMapkazi getLocation ikiwa navigator.geolocation navigator.geolocation.getCurrentPositionfetchWeatherData; nyengine alertGeolocation haihimiliwi na kivinjari hiki.; kazi fetchWeatherDatanafasi const lat position.coords.latitudo; const lon position.coords.longitude; const url kuletaurl .kishajibu majibu.json .kishadata updateWeatherInfodata .catcherror console.errorHitilafu katika kuleta data ya hali ya hewa:, hitilafu;sasisho la kaziWeatherInfodata const joto document.getElementByIdjoto; const humidity document.getElementByIdunyevunyevu; const windSpeed document.getElementByIdwind-speed; joto.textContent data.main.temp C; humidity.textContent data.main.humidity; windSpeed.textContent data.wind.speed ms;getLocation;setIntervalgetLocation, 30000; Sasisha data kila sekunde 30Badilisha YOUR_API_KEY kwa ufunguo wako halisi wa API kutoka OpenWeatherMap.Msimbo huu utachukua eneo la mtumiaji kwa kutumia API ya Geolocation na kisha upige simu kitendakazi cha fetchWeatherData ili kupata data ya hali ya hewa kutoka OpenWeatherMap. Chaguo za kukokotoa za updateWeatherInfo husasisha vipengele vya HTML kwa data iliyoletwa. Hatimaye, kitendakazi cha setInterval kinatumika kusasisha data kila baada ya sekunde 30 bila kuonyesha upya ukurasa.Ikiwa unatumia TypeScript, hakikisha kuwa umesakinisha aina zinazohitajika za DOM:bashinpm install --save-dev typesnodeNa ongeza laini ifuatayo juu ya faili yako ya TypeScript: chapa Sasa, fungua faili ya HTML kwenye kivinjari cha wavuti, na unapaswa kuona halijoto ya sasa, unyevunyevu, na kasi ya upepo kulingana na eneo lako. 