اینم یه تجربه پراکنده دیگه!
من اصلتا وب بلد نیستم. یعنی خیلی کم وب کار کردم و دقیقا هم نمیدونم اوضاع از چه قراره. اما توی کارهایی که انجام میدم بصورت خیلی محدود نیاز به واسط کاربری تحت وب پیدا میکنم و مجبور میشم به این وادی یه سری بزنم. توی آخرین کاری که انجام دادم نیاز بود که یه نقشه رو بصورت داینامیک توی صفحه وب نشون بدم و اون رو آپدیت کنم. روند اینجوری بود که سر زمانهای خاصی باید رنگ بخشهای این نقشه رو تغییر میدادم و همچنین روش دایرههایی میکشیدم. بعد از یه تحقیق اولیه به نظرم اوم که استفاده از html5 و بصورت اختصاصی canvas میتونه کمکم کنه.
وضعیت من از این قرار بود:
- یه نقشه به فرمت ArcGIS داشتم که هیچ برنامهای برای بازکردنش نداشتم. اون فرمت شامل یه نوع فایل خاص به نام shapeFile بود که نقشه رو توصیف میکرد.
- من هیچ ایدهای نداشتم که کار به چه صورت باید انجام بشه.
- هیچ تجربه قبلی هم با html5 و بالاخص canvas نداشتم.
با یکی از دوستانم که خیلی بیشتر از من وب بلده و کلا کارش وبه صحبت کردم و پیشنهاد استفاده از canvas از ایشون بود. همچنین یه روز هم اومد و با کمک اون این کار رو به شکل زیر انجام دادیم. البته باید بگم که کل این روش رو از یه بندهخدایی که کارش اینه قرض گرفتیم
- اول shapeFile رو بعد از تحقیقات زیاد با استفاده از نرمافزار متنباز qGIS تبدیل کردیم به فرمت KML که یه فرمت متنباز برای نقشههاست.
- دوم اینکه با استفاده از jQuery فایل KML رو خونده و parse کردیم.
- حالا که نقاط نقشه یا بهتره بگم نقاط چند ظلعیها رو بصورت مجزا داشتیم هریک از اونها رو توی html5 کشیدیم و بهش رنگ و فرمت دادیم
- یه سری هم محاسبه انجام دادم که بتونم عناصر داینامیک رو روی نقشه نشون بدم.
در کل تجربه خیلی جالبی بود و برای منی که کلا از وب سررشته خاصی نداشتم غول مرحله آخر به حساب میاومد و از انجامش لذت بردم.
همین!