ভাইয়ের মত করে বলছি, প্রথমে একটু চিন্তা করি...
তুমি একটা Weather App বানাতে বসেছো। চমৎকার! এখন তুমি চাও — যদি ইউজার তোমার ওয়েবসাইটে আসে, তুমি তাকে বলে দাও ➡️ "এই মুহূর্তে তোমার এলাকায় আবহাওয়া কেমন!"
এই তথ্য দেখানোর জন্য তোমাকে জানতে হবে:
- ইউজার এখন কোথায় আছে?
- তার লোকেশন মানে: Latitude আর Longitude
- এরপর এই লোকেশন পাঠিয়ে তুমি Weather API-তে কল করো
- আর সেখান থেকে আবহাওয়ার তথ্য দেখাও
১. ব্রাউজার কি তোমাকে লোকেশন বলতে পারে?
হ্যাঁ ভাই, পারে। তোমার মোবাইল বা কম্পিউটার যদি লোকেশন শেয়ার করার অনুমতি দেয়, তাহলে Browser API থেকে তুমি লোকেশন বের করতে পারো।
👉 এই API টার নাম: navigator.geolocation
এটার ভেতরে একটা গুরুত্বপূর্ণ ফাংশন আছে:
navigator.geolocation.getCurrentPosition(successFn, errorFn);
successFn
: যদি লোকেশন ঠিকমতো পাওয়া যায়, তখন এই ফাংশন চলেerrorFn
: যদি ইউজার অনুমতি না দেয়, বা কিছু সমস্যা হয়, তখন এইটা চলে
২. এখন চলো একটা সোজা ফাংশন লিখি – লোকেশন বের করার
function getUserLocation() {
if (!navigator.geolocation) {
console.log("তোমার ব্রাউজারে লোকেশন সাপোর্ট করে না!");
return;
}
navigator.geolocation.getCurrentPosition(
(position) => {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
console.log("তোমার অবস্থান:");
console.log("Latitude:", latitude);
console.log("Longitude:", longitude);
},
(error) => {
console.log("লোকেশন আনতে সমস্যা হয়েছে:", error.message);
}
);
}
✅ তুমি চাইলে এই ফাংশনকে React কম্পোনেন্টে বা useEffect()
এর ভেতরে চালাতে পারো।
লোকেশন দিয়ে আবহাওয়ার API কল করো
API কল করার লিংক এমন হয়:
https://api.openweathermap.org/data/2.5/weather?lat=23.7&lon=90.4&appid=YOUR_API_KEY&units=metric
এখানে lat
আর lon
ইউজারের লোকেশন দিয়ে আসবে। appid
তোমার API Key।
✅ লোকেশন না পেলে ইউজারকে বুঝিয়ে দাও
✅ মোবাইল বা ল্যাপটপে Location Permission অন না থাকলে কিছুই হবে না
✅ units=metric
না দিলে ডিফল্ট Fahrenheit আসবে
✅ লোকেশন সাপোর্ট করার জন্য HTTPS ছাড়া কাজ করবে না (লোকালহোস্টে ঠিক আছে)
📌 সংক্ষেপে মনে রাখো:
কাজ | কোন API | কিভাবে ব্যাবহার করবো? |
---|---|---|
লোকেশন বের করা | navigator.geolocation | getCurrentPosition(success, error) |
আবহাওয়ার তথ্য আনা | OpenWeatherMap | fetch(...) দিয়ে API কল |
🎁 শেষ কথা
তুমি যদি একদম নতুন হয়ে থাকো, তাহলে ভয় পাওয়ার কিছুই নেই। React-এর প্রতিটা জিনিসকে যদি জীবনের বাস্তব জিনিস দিয়ে বুঝো, তাহলে শেখা সহজ আর মজার হয়ে যাবে।
তুমি এই Weather Dashboard বানিয়ে হয়তো শুধু একটা প্রজেক্ট করছো — কিন্তু এর ভেতর তুমি শিখে নিচ্ছো: 👉 কিভাবে ব্রাউজার ইউজারের তথ্য জানে 👉 কিভাবে অ্যাসিঙ্ক API কাজ করে 👉 কিভাবে ইউজারের প্রয়োজন অনুযায়ী জিনিস দেখাতে হয়