معرفی SDK نقشه نشان برای iOS

رفته رفته و با همه گیر شدن گوشی‌های هوشمند خدمات متنوعی بر بستر این دستگاه‌ها ارائه می‌شود. سرویس‌های مختلف مانند Google Maps و Apple ARKit برای استفاده توسعه‌دهندگان از خدمات خود ابزاری به نام SDK را توسعه می‌دهند تا برنامه نویسان بتوانند به راحتی از این سرویس‌های نرم‌افزاری در پلتفرم دلخواه خود (Web, Android, iOS) استفاده کنند. در واقع SDK یا همان کیت توسعه نرم‌افزاری مجموعه‌ای از کلاس‌ها و توابعی است که امکان استفاده از سرویس‌های مختلف یک پلتفرم را به عنوان واسطی برای بسترهای مختلف فراهم می‌کند.زیرساخت توسعه نقشه نشان نیز در راستای ارائه سرویس‌ها و راهکارهای مختلف برای برنامه نویسان و کسب و کارها، SDK نقشه iOS را برای برنامه‌نویسان این سیستم عامل مهیا کرده است.پلتفرم نقشه نشانشرکت سازه‌های اطلاعاتی راژمان با معرفی زیرساخت توسعه نقشه نشان (Neshan Maps Platform) در ابتدای تابستان ۱۳۹۷ جزء اولین ارائه‌دهندگان راه‌کارهای مبتنی بر نقشه برای توسعه‌دهندگان در ایران بوده است. این پلتفرم که بر پایه داده و جامعه کاربری یک میلیونی مسیریاب نشان و با تکیه بر فناوری و تجربه ۸-۷ ساله راژمان در پروژه‌های نقشه همراه شهرهای کشور شکل گرفته است، از اواسط تابستان خدمات و سرویس‌های مبتنی بر نقشه (API & SDK) خود را به صورت عمومی در اختیار کسب و کارها و برنامه‌نویسان قرار داده است. هزینه استفادهیک خبر خوب برای همه برنامه‌نویسان و کسب و کارهایی که برای پروژه‌های خود نیاز به استفاده از SDK نقشه دارند! استفاده از SDK نقشه نشان و MapLoad در آن کاملاً رایگان است. همچنین چنانچه اپلکیشن iOS خود را توسط زیرساخت نقشه نشان پیاده‌سازی کنید می‌توانید از تایل ترافیک آنلاین معابر و لایه POI نیز به‌صورت رایگان استفاده کنید. چطور شروع کنم؟در اولین قدم لازم است تا در سایت توسعه دهندگان نشان ثبت نام کرده و سپس وارد پنل کاربری خود شوید. برای استفاده از iOS SDK لازم است تا یک کلید دسترسی برای اپلیکیشن iOS خود بسازید و برای این کار باید Bundle Identifier اپلیکیشن خود را در قسمت مربوطه وارد کنید. فایل neshan.license را با کلیک بر روی دریافت لایسنس دریافت کرده و آن را در پوشه پروژه قرار دهید.پس از انجام این کار برای نصب و استفاده از iOS SDK نشان، باید اسکریپت:pod 'NeshanMobileSDK'را در podfile موجود در پروژه خود قرار دهید و از دستورpod install(در ترمینال) برای نصب پیکیج‌های Pod استفاده کنید.اکنون شما آماده استفاده از SDK نشان در اپلیکیشن iOS خود هستید!آموزش مرحله به مرحله ایجاد یک صفحه نقشهدر اولین قدم برای ایجاد یک صفحه نقشه با استفاده از زبان برنامه نویسی Swift می‌بایست در ViewController مورد نظر یک شئ با نام mapView از نوع NTMapView تعریف کنیم.پس از تعریف این شئ از کلاس NTNeshanServices تابع createBaseMap را فراخوانی کرده و سپس یکی از case های NTNeshanMapStyle (که از نوع Enumeration می‌باشد) را به عنوان پارامتر به این تابع ارجاع می‌دهیم. سپس به ترتیب دو تابع getLayers و add را روی شئ mapView فراخوانی میکنیم.حال برای اینکه مرکز صفحه در هنگام شروع برنامه در مکان دلخواه ما باشد، از تابع setFocalPointPosition که روی شئ mapView فراخوانی می‌شود، استفاده میکنیم. این تابع دو پارامتر ورودی دارد که اولی نقطه‌ای از کلاس NTLngLat و دومین پارامتر ورودی آن زمان انتقال صفحه به این نقطه می‌باشد که برای شروع می‌توان به آن مقدار 0 داد. لازم به ذکر است برای استفاده از کلاس NTLngLat دو نقطه طول و عرض جغرافیایی به ترتیب به عنوان پارامترهای ورودی تابع initializer این کلاس استفاده می‌شود.در آخر نیز برای تعیین مقدار زوم نقشه در هنگام شروع، تابع setZoom روی شئ mapView فراخوانی می‌شود. پارامتر اول این تابع، مقدار زوم و پارامتر دوم آن نیز همانند تابع قبل مقدار زمانی که زوم انجام می‌شود را مشخص می‌کند.چنانچه view خود را به طور مستقیم از Main.storyboard در ViewController تعریف نکردیم لازم است تا مقدار view را برابر با mapView قرار دهیم اما در صورتی که مستقیما view خود را از جنس NTMapView قرار داده و آن را در ViewController تعریف کرده‌اید نیازی به این کار نیست.برای مطالعه ادامه آموزش کامل ایجاد نقشه و کسب اطلاعات بیشتر در خصوص SDK نقشه iOS می‌توانید به این صفحه در سایت توسعه‌دهندگان نشان مراجعه کنیدتبریک! شما اولین اپلیکیشن iOS با استفاده از SDK نقشه نشان ایجاد کردید!این مطلب شروع سلسله مطالب آموزشی در مورد شیوه استفاده از iOS SDK نشان می‌باشد. به زودی با آموزش‌های متنوع و قدم به قدم برای توسعه‌دهندگان با شما همراه خواهیم بود.شما همچنین می‌توانید با دنبال کردن اکانت NeshanMaps در گیت‌هاب سورس‌کد اپلکیشن‌های نمونه و سایر کدهای مرتبط با این موضوع را مشاهده کنید.