آشنایی با API ها در HTML
آشنایی با API ها در HTML
آشنایی با جئولوکیشن در HTML
موقعیت جغرافیایی در HTML
آموزش ایجاد موقعیت جغرافیایی در صفحاتHTML، آموزش جئولوکیشن در HTML، چگونه موقعیت جغرافیایی یا سوال بهتر چگونه مختصات جغرافیایی کاربرانمان را به دست بیاریم؟ چرا اصلا کاربر باید موقعیت جغرافیایی اش را به صفحه ما اطلاع دهد؟ با استفاده از جئولوکیشن به چه چیز هایی دسترسی داریم؟
- 1 جئولوکیشن در html5
- 2 مکان یابی محل کاربر
- 3 استفاده از جئولوکیشن در HTML
- 4 مدیریت خطا ها و عدم پذیرش
- 5 نمایش نتایج در یک نقشه
- 6 اطلاعات مکان
- 7 تابع getCurrentPosition بازگشت داده
- 8 آبجکت جئولوکیشن – سایر توابع مفید
جئولوکیشن در html5
در این مقاله میخواهیم در رابطه با APIجئولوکیشن که در مقاله آموزش متن محور HTML5 با آن آشنا شدیم، صحبت کنیم.
از API مختصات جغرافیایی برای مکان یابی محل کاربر استفاده می شود و در فروشگاه های آنلاین و سرویس های تاکسی اینترنتی میتواند استفاده شود. (راستی تاکسی ها هم رنگ قشنگی دارند xD )
مکان یابی محل کاربر
از این APIبرای دریافت مختصات جغرافیایی کاربران استفاده می شود. از آنجایی که این APIمی تواند باعث نقض قوانین حریم خصوصی شود، فقط زمانی مختصات کاربر در دسترس خواهد بود که کاربر اجازه آن را صادر کند.
نکته: جئولوکیشن برای دستگاه هایی که دارای GPS هستند مانند گوشی های هوشمند دقیق تر است.
استفاده از جئولوکیشن در HTML
توجه داشته باشید که : این APIبا تگ Map که در گذشته در مقاله آموزش کار با تگ Map با آن آشنا شدیم کاملا فرق میکند.
تابع getCurrentPosition برای بازگرداندن مختصات کاربر استفاده می شود. مثال زیر مختصات latitude و longitude کاربر را نمایش می دهد.
<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>
ابتدا وضعیت جئولوکیشن بررسی می شود.
اگر جئولوکیشن پشتیبانی شود. متد getCurrentPosition() اجرا می شود. در غیر این صورت یک متن به کاربر نمایش داده می شود.
اگر اجرای تابع getCurrentPosition() موفقیت آمیز بوده باشد. مقدار مختصات کاربر از طریق تابع تعیین شده بازگشت داده می شود.
تابع showposition() مقدار طول جغرافیایی و عرض جغرافیایی خروجی را نمایش می دهد.
مثال بالا یک اسکریپت ساده بدون مدیریت خطا بود.
از API جئولوکیشن میتوانید در بخش Auto Complete فرم ها نیز استفاده کنید. در آموزش کار با فرم ها در HTML و آموزش کار با تگ input در HTMLمیتوانید با فرم ها آشنا شویم.
مدیریت خطا ها و عدم پذیرش
پارامتر دوم تابع 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; } }
نمایش نتایج در یک نقشه
برای نمایش نتایج در یک نقشه، نیاز به دسترسی به سرویس نقشه مانند نقشه گوگل دارید.
در مثال پایین، مقدار مختصات بازگشتی در مکان یابی در سرویس نقشه گوگل استفاده می شود.(با استفاده از تصویر ثابت)
function showPosition(position) { var latlon = position.coords.latitude + "," + position.coords.longitude; var img_url = "https://maps.googleapis.com/maps/api/staticmap?center= "+latlon+"&zoom=14&size=400x300&sensor=false&key=YOUR_KEY"; document.getElementById("mapholder").innerHTML = "<img src='"+img_url+"'>"; }
با استفاده از کد بالا میتوانید یک تصویر ثابت از گوگل برای وب سایتتان دریافت کنید. البته باید نظر داشته باشید که این کد زمانی کار میکند که شما API Key یا کلید API مخصوص را از گوگل دریافت کرده باشید.
اطلاعات مکان
تا اینجا ما نحوه نمایش مختصات کاربر در یک نقشه را توضیح دادیم. در کنار موارد توضیح داده شده. جئولوکیشن استفاده های مفید دیگری نیز برای دریافت و نمایش اطلاعات مکان مورد نظر در اختیار ما قرار می دهد.
- به روز رسانی اطلاعات محلی
- نشان دادن نقاط مورد علاقه کاربر
- استفاده از ناوبری (GPS)
آشنایی با API ها در HTML
تابع getCurrentPosition بازگشت داده
تابع getCurrentPosition یک آبجکت را در هنگام موفق بودن عملیات بر می گرداند. مختصات latitude، longitude و دقت مقدار هایی هستند که همیشه در جئولوکیشن بازگشت داده می شوند. خواص دیگر آبجکت بازگشتی به شرح زیر هستند:
خاصیت | مقادیر |
latitude | مقدار دسیمال( همیشه وجود دارد) |
longitude | مقدار دسیمال(همیشه وجود دارد) |
accuracy | دقت مختصات(همیشه وجود دارد) |
altitude | ارتفاع از سطح دریا برحسب متر(اگر در دسترس باشد) |
altitudeAccuracy | دقت ارتقا (اگر در دسترس باشد) |
heading | سمت برحسب درجه در جهت عقربه ساعت از شمال(اگر در دسترس باشد) |
speed | سرعت برحسب متر بر ثانیه (اگر در دسترس باشد) |
timestamp | تاریخ و زمان پاسخ بازگشتی(اگر در دسترس باشد) |
آبجکت جئولوکیشن – سایر توابع مفید
آبجکت جئولوکیشن توابع کاربردی دیگری نیز دارد که جالب توجه هستند:
- Watchposition – موقعیت فعلی کاربر و موقعیت به روز شده کاربر در صورت حرکت کاربر را باز می گرداند (مانند gps در خودرو ).
- Clearwatch – عملکرد تابع watchposition را متوقف می کند.
مثال زیر نحوه استفاده از تابع 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>
در این مقاله با GeoLocation یا مختصات جغرافیایی آشنا شدیم.
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
نویسنده:راحله تبریزی
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.