آموزش HTML 5 > سیستم موقعیت یاب جهانی HTMl 5 > موقعیت یابی کاربر

سیستم موقعیت یاب جهانی HTMl 5 :

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

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

پشتیانی در مرورگر های مختلف :

این تگ در تمام مرورگرهای اصلی پشتیبانی می شود .

1) اطلاع از موقعیت کنونی کاربر – متد ( ) getCurrentPosition :

از این متد می توان برای اطلاع از موقعیت دقیق کاربر استفاده نمود . کد مثال زیر یک کد ساده موقعیت یابی را نشان می دهد که بوسیله آن عرض و طول جغرافیایی مکان کاربر را بر روی صفحه نمایش داده شده است .

با کلیک بر روی دکمه فرمان ، موقعیت خود را بیابید :

Example
<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 را نشان می دهد :

Example
<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خطای ایجاد شده نا مفهوم است .


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نظر خودتان درباره این صفحه را با ما در میان بگذارید  :

آیا مطالب این صفحه برای شما مناسب و مفید بود ه است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : جمع سه + پنج چنده ؟