بایگانی دسته: وب‌سایت

کره زمین

کاربرانتان را بیابید – قسمت نخست: تشخیص موقعیت جغرافیایی به کمک HTML 5

هم زمان با توسعه استاندارد HTML 5، گوشی های هوشمند و تبلت مدرن نیز در حال گسترش هستند. یکی از ویژگی های این گجت ها این است که تقریباً تمامی آن ها مجهز به GPS (و در برخی موارد GLONASS) جهت یافتن مکان دستگاه، و کاربر، هستند. به همین دلیل، یکی از کاربردی ترین ویژگی هایی که در HTML 5 معرفی شده، تشخیص موقعیت جغرافیایی است که کاربرد آن را می توان در سایت هایی مانند Google Maps و Foursquare دید. در این مقاله روش یافتن موقعیت جغرافیایی کاربر به کمک HTML 5 مورد بررسی قرار می گیرد.لوگوی HTML 5

همان گونه که می دانید، مختصات هر نقطه ای بر روی زمین را می توان با طول جغرافیایی و عرض جغرافیایی آن نقطه نشان داد. از آنجا که GPS تنها موقعیت کاربر را پیدا می کند، خروجی GPS تنها شامل همین دو عدد است و به کمک HTML 5 نیز همین دو عدد را به دست می آوریم. از آنجا این اعداد به تنهایی کاربرد خاصی ندارند، در قسمت بعدی مقاله به روش تبدیل این اعداد به نقشه یا نام مکان خواهیم پرداخت. با این وجود، پایه تمام امکانات همین طول و عرض جغرافیایی است.

برای دستیابی به موقعیت کاربر در جاوااسکریپت از شئ navigator.geolocation استفاده می شود. برای اطمینان از این که مرورگر کاربر از Geolocation پشتیبانی می کند، می توانید کد زیر را به کار ببرید:

 

if (navigator.geolocation)
{
 //دریافت مختصات کاربر
}
else
{
 alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

فهرستی از مرورگرهایی که از geolocation پشتیبانی می کنند را می توانید در اینجا بیابید. به طور کلی، بیشتر مرورگرهای جدید از این ویژگی پشتیبانی  می کنند.

در صورتی که مرورگر از geolocation پشتیبانی کند، با استفاده از تابع geolocation.getCurrentPosition می توانید به مختصات کاربر دست پیدا کنید. برای استفاده از این تابع باید تابع دیگری را به آن بفرستید که یک ورودی بگیرد. پس از این که مختصات کاربر دریافت شد، getCurrentPosition مختصات را به آن تابع می فرستد. به عنوان مثال، کد زیر مختصات کاربر را دریافت کرده و نمایش می دهد:

function showGeolocation (position)
{
   // position.coords.latitude = عرض جغرافیایی کاربر
   // position.coords.longitude = طول جغرافیایی کاربر
   alert (position.coords.latitude + ", " + position.coords.longitude);
}

if (navigator.geolocation)
{
   navigator.geolocation.getCurrentPosition(showGeolocation);
}
else
{
   alert ("مرورگر شما از مختصات جغرافیایی پشتیبانی نمی کند. لطفاً مرورگر را به روز نمایید.");
}

برای آزمایش این ویژگی در مرورگر خودتان می توانید روی این دکمه کلیک نمایید:

توجه داشته باشید که جهت احترام به حریم خصوصی کاربر، هر سایتی که بخواهد از مختصات کاربر استفاده کند، باید دستکم برای اولین بار از کاربر اجازه این کار را بگیرد. البته مرورگر به طور خودکار این کار را انجام می دهد و در صورتی که کاربر اجازه نداد، مختصات را در اختیار برنامه قرار نمی دهد و تابع مربوط به نمایش مختصات نیز فراخوانی نمی شود.

کره زمین

مسئله دیگری که وجود دارد، این است که با وجود گسترش تبلت ها، گوشی های هوشمند و دیگر دستگاه های مجهز به GPS، هنوز هم دستگاه های بسیاری (مانند رایانه های شخصی و لپتاپ ها) هستند که می توانند از سایت شما بازدید کنند، در حالی که GPS ندارند. در این گونه مواقع، با استفاده از موارد مانند IP و گاهی شبکه های Wifi، رایانه موقعیت جغرافیایی اش را تخمین می زند، ولی خطای این روش بسیار بالا است (در حدّ چندین کیلومتر). در این مواقع، با استفاده از این روش می توانید شهری که کاربر در آن قرار دارد را بیابید. (البته ممکن است در مورد شهرهای کوچک و روستاها، به دلیل خطای بالا، نتیجه حتی در این حد نیز قابل اعتماد نباشد!)

احتمالاً برای شما این پرسش پیش آمده است که داشتن طول و عرض جغرافیایی کاربر به شکل 2 عدد خام چه کاربردی می تواند داشته باشد. پاسخ این است که با کمک APIهای موجود شما می توانید نام محل کنونی کاربر (مثل تهران – خیابان کارگر شمالی) را بیابید، محل کاربر را روی نقشه علامت بزنید و …   در این زمینه منتظر مقالات بعدی این سری باشید.

شما چه کاربردی را برای مختصات جغرافیایی کاربر پیشنهاد می دهید؟

ابزارهای پنهان جست‌‌وجوی گوگل(بخش اول)

موتور جست‌وجوی گوگل اگر بهترین موتورجست‌وجوی اینترنتی نباشد(که شک دارم) یکی از بهترین موتور‌های جست‌وجو در وب است. همه ما هر روزه برای یافتن هرآنچه که در وب نیاز داریم از گوگل استفاده می‌کنیم. آب‌و‌هوا، زمان‌محلی، طلوع‌و‌غروب خورشید و … هم از موضوعاتی است که هر چندوقت یک‌بار در اینترنت جست‌و‌جو می‌کنیم. اما شاید اکثر ما خبر نداشته باشیم که خود گوگل هم یک‌سری از این موضوعات را به‌طور خاص برای شما جست‌و‌جو می‌کند و شاید هر چند وقت یک‌بار با دیدن اینکه خود گوگل قبل از نتایج جست‌و‌جو جواب سؤال ما را داده است تعجب کنیم.
مدتی پیش من هم از اینکه گوگل جواب سؤال من را داده‌بود تعجب کرده بودم که دیدم در زیر جواب گوگل لینکی به اینجا وجود دارد. به آن صفحه رفتم و امکانات مختلفی که گوگل در اخیار ما قرار می‌دهد را دیدم. بدم نیامد که نمونه از آن را برای شما هم در اینجا قرار دهم:

google Logo

آب‌و‌هوا: برای مشاهده‌ی آب‌و‌هوای شهر‌های جهان(اکثر شهر‌های جهان پشتیبیانی‌ می‌شوند) در صفحه جست‌و‌جوی گوگل به این‌صورت بنویسید:

weather Tehran -> نمایش آب‌وهوای شهر تهران

weather Tehran, Iran -> برای آب‌و‌هوای شهر تهران

سهام شرکت‌های مختلف در بورس جهانی: برای مشاهده سهام شرکت‌های مختلف بعلاوه تغییرات سهام و نمودار تغییرات آنها در صفحه جست‌و‌جوی گوگل به این‌صورت بنویسید(برای مشاهده اطلاعات بیشتر روی نمودار مربوط به تغییرات سهام کلیک کنید تا سرویس مربوطه در گوگل باز شود):
apple stock->سهام شرکت اپل
microsoft stock->سهام شرکت‌ مایکروسافت

زمان محلی: برای مشاهده زمان محلی در یک شهر خاص در صفحه جست‌و‌جوی گوگل به این‌صورت بنویسید:
time tehran->زمان محلی شهر تهران

زمان طلوع و غروب خورشید: برای مشاهده زمان طلوع‌ و غورب خورشید در صفحه جست‌و‌جوی گوگل به این‌صورت بنویسید:
sunset tehran-> غروب خورشید به وقت محلی تهران
sunrise tehran-> طلوع خورشید به وقت محلی تهران

ماشین حساب: برای محاسبه نیز می‌توانید از بخش جستجوی گوگل استفاده کنید که قابلیت های یک ماشین‌حساب پیش‌رفته را نیز دارد.

کتاب: برای جست‌و‌جوی کتاب پس از وارد‌کردن نام کتاب و کلیک بر روی دکمه “Search” از نوار سمت چپ “Books” را انتخاب نمایید.

تبدیل واحد: برای تبدیل واحد باید در قسمت جست‌وجو ابتدا مقدار کمیت اول و سپس نام کمیت اول و پس از آن “in” و پس از آن نام کمیت دوم را بنویسید.
به‌عنوان مثال: 10.0 cm in inch

آمار‌های عمومی: برای دیدن آمار های عمومی درباره یک موضوع خاص مثل بیکاری یا مثلا جمعیت ابتدا کلمه‌ی مورد نظر را به‌صورت انگلیسی در بخش جستجو بنویسید و سپس نام کشور مورد نظر را بنویسید.
به عنوان مثال: population iran -> آمار جمعیت ایران