آموزش HTML 5 > سیستم موقعیت یاب جهانی HTMl 5 > موقعیت یابی کاربر
سیستم موقعیت یاب جهانی HTMl 5 :
بوسیله سیستم موقعیت یاب جهانی Html 5 می توانید مختصات و موقعیت جغرافیایی یک کاربر
را پیدا کرده و به وی نمایش دهید . این سیستم از اطلاات ماهواره ها و ISP ای که به
آن متصل هستید ،برای اطلاع از موقعیت شما استفاده می کند .
از آنجایی که موقعیت یابی می تواند حریم خصوصی کاربر را تحت تاثیر قرار دهد ،
موقعیت وی تا زمانی که خودش تایید نکند ، در اختیار برنامه قرار نخواهد گرفت .
پشتیانی در مرورگر های مختلف :
این تگ در تمام مرورگرهای اصلی پشتیبانی می شود .
1) اطلاع از موقعیت کنونی کاربر – متد ( ) getCurrentPosition :
از این متد می توان برای اطلاع از موقعیت دقیق کاربر استفاده نمود . کد مثال زیر یک
کد ساده موقعیت یابی را نشان می دهد که بوسیله آن عرض و طول جغرافیایی مکان کاربر را
بر روی صفحه نمایش داده شده است .
با کلیک بر روی دکمه فرمان ، موقعیت خود را بیابید :
<p id="demo"> برای مشاهده موقعیت خود کلیک نمایید :</p>
<button onclick="getLocation( )"> موقعیت یابی </button>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition( showPosition);
}
else
{
x.innerHTML = "مرورگر شما از سیستم موقعیت یاب پشتیبانی نمی کند";
}
}
function showPosition( position )
{
x.innerHTML = "Latitude: " + position.coords.latitude + "<br> Longitude :
" + position.coords.longitude ;
}
</script>
|
|
مشاهده خروجی مثال
|
- در مرحله اول چک شده که آیا مرورگر از سیستم موقعیت یاب در HTML پشتیبانی
می کند یا خیر و در صورت لزوم کد های مناسب اجرا شود .
- اگرمرورگر از این سیستم پشتیبانی کند متد (
) getCurrentPosition اجرا شده و در غیر این صورتیک پیام هشار مبنی بر
عدم پشتیبانی مرورگر صادر می شود .
- اگر متد ( ) getCurrentPosition
با موفقیت اجرا شود مختصات نقطه قرارگیری کاربر را بوسیله یک پارامتر به
تابع ( ) ShowPosition برمیگرداند .
- متد ShowPosition موفقیت کاربر را بر روی خروجی نمایش می دهد .
مثال فوق کد ساده یک عملیات موقعیت یابی بدون امکان خطا یابی بود و در بخش بعد نحوه
خطا یابی در این سیستم را آموزش می دهیم .
2 ) مدیریت خطاها و عدم جوابگویی سیستم :
ممکن است در فرایند موقعیت یابی خطا هایی رخ دهد . از پارامتر دوم متد
( ) getCurrentPosition
می توان برای مدیریت خطا های احتمالی استفاده کرد . این پارامتر یک تابع را
تعیین می کند تا در صورت بروز خطا اجرا شده و پیام لازم را به کاربر نمایش دهد .
کد زیر کد تابع خطا یاب سیستم موقعیت یاب Html 5 را نشان می دهد :
<p id="demo"> برای مشاهده موقعیت خود کلیک نمایید :</p>
<button onclick="getLocation( )"> موقعیت یابی </button>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition( showPosition
, showError);
}
else
{
x.innerHTML = "مرورگر شما از سیستم موقعیت یاب پشتیبانی نمی کند";
}
}
function showPosition( position )
{
x.innerHTML = "Latitude: " + position.coords.latitude + "<br> Longitude :
" + position.coords.longitude ;
}
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
x.innerHTML="User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML="The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML="An unknown error occurred."
break;
}
}
</script>
|
|
مشاهده خروجی مثال 2
|
توضیح موارد کد :
- Permission denied : در این حالت کاربر اجازه دسترسی به موقعیت
خود را نداده است .
- Position unavailable :در این حالت یافتن موقعیت صحیح کاربر
به علت مشکلات فنی ممکن نیست .
- Timeout در این حالت مدت زمان لازم برای اجرای درخواست تمام
شده است .
- Unkown errorخطای ایجاد شده نا مفهوم است .
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نظر خودتان درباره این صفحه را با ما در میان بگذارید :