‎‎موقعيت كاربرHTML Geolocation API -‎

Previous >    <Next  

‎‎براي دريافت موقعيت يك كاربر ازHTML Geolocation API استفاده ميشود .

‎‎موقعيت كاربررا بيابيدLocate the Use's Position -‎ .

‎براي يافتن موقعيت جغرافيائي كاربر ازHTML Geolocation API استفاده ميشود .ار انجائيكه اين ‎مي تواند حريم خصوصي افراد را بخطر باندازد، اين موقيعت از طريق تائيد كاربر ‎امكان پذير ميباشد.

‎‎توجه ـ موقعيت جغرافيائي براي دستگاه هاي داراي گوشي هوشمند مثلGPS دقيق ترين است .

‎‎پشتيباني مرورگرBrowser Support -‎

‎‎در جدول زير اولين نسخه كه مرورگر از موقعيت جغرافيائي پشتيباني ميكند نشان داده شده است.

‎API‎ ‎Chrome‎ ‎Edge‎ ‎Firefox‎ ‎Safari‎ ‎Opera‎
‎Geolocation‎ ‎‎5.0 -‎49.0‎

‎(http)‎

‎‎50.0‎

‎(https)‎

‎‎9.0‎ ‎‎3.5‎ ‎‎5.0‎ ‎‎16.3‎

‎توجه ـ ازChrome 50 موقعيت يابي API فقط براي زمينه هاي امن مثل HTTPS كار ميكنند اگر سايت ‎در محيط مبنائي غير امن باشد مثلHTTP در خواست مكان يابي انجام نميشود.

‎‎كاربرد موقعيت جغرافيائيUsing HTML Geolocation -‎

‎با متد يا تابع‎getCurrentPosition()‎‎ جاوااسكريپت براي دريافت موقعيت كاربر ‎استفاده ميشود.

‎‎مثال ـ دراين مثال طول وعرض موقعيت جغرافيائي كاربر را نشان ميدهد.

<script>
var x = document.getElementById("demo");
function getLocation() {
  if  (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}

function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
}
</script > 

--(go to editor for change code and run)

‎نكته ـ توابع يا متدهاي جاوااسكريپت نسبت به حروف حساس هستند، همان طوريكه تعريف شده بايد ‎استفاده كرد.

‎‎توجه ـ مثال بالا يك اسكريپت ساده براي موقعيت يابي است كه بدون خطايابي تنظيم شده است.

‎‎بررسي و رد خطا هاHanding Errors and Rejections -‎

‎دومين پارامتر متد‎getCurrentPosition()‎‎ براي بررسي خطاها است .در آن تابعي ‎مشخص ميشود كه در صورتيكه موقعيت كاربر بدست نيايد، آن تابع براي بررسي خطا اجرا ميشود.

‎‎مثال ـ بررسي خطاهاي موقعيت يابي

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;
  }
} 

--(go to editor for change code and run)

‎‎اطلاعات مربوط به مكانLocation-‎ specific information -‎

‎در اين صفحه نحوه نمايش موقعيت كاربر در روي نقشه نشان داده شده است .درآن اطلاعات خاص ‎‎موقعيت جغرافيائي كه با اهميت ميباشدمثل موارد زير:

‎The getCurrentPosition()‎ Method -‎ Return Data‎

‎‎برگشت اطلاعات توسطgetCurrentPosition()‎

‎متد‎getCurrentPosition()‎ ‎در صورت موفقيت يك شي اطلاعاتي را برگشت ميدهد .اين شي ‎ويژگي هاي طول وعرض ودقت هميشه برگشت ميشوند، اما مابقي در صورت موجود بودن برگشت ميشوند.

Property Returns
coords.latitude The latitude as a decimal number (always returned)
coords.longitude The longitude as a decimal number (always returned)
coords.accuracy The accuracy of position (always returned)
coords.altitude The altitude in meters above the mean sea level (returned if available)
coords.altitudeAccuracy The altitude accuracy of position (returned if available)
coords.heading The heading as degrees clockwise from North (returned if available)
coords.speed The speed in meters per second (returned if available)
timestamp The date/time of the response (returned if available)

‎Geolocation Object -‎ Other interesting Methods‎

‎‎ساير متدهاي مورد توجه شيGeolocation

‎شيGeolocation داراي متدهاي جالب ديگريست كه در زير بيان شده است :

‎مثال ـ در مثال زير متد‎watchPosition()‎‎ را نشان ميدهد .براي آزمايش نيازمند ‎يك دستگاه گوشي هوشمند ميباشيد مثلGPS در ماشين

<script>
var x = document.getElementById("demo");
function getLocation() {
  if  (navigator.geolocation) {
    navigator.geolocation.watchPosition(showPosition);
  } else {
    x.innerHTML = "Geolocation is not supported by this browser.";
  }
}
function showPosition(position) {
  x.innerHTML = "Latitude: " + position.coords.latitude +
  "<br>Longitude: " + position.coords.longitude;
}
</script > 

--(go to editor for change code and run)


Previous >    <Next