محمدرضا برجیان
محمدرضا برجیان
خواندن ۱ دقیقه·۳ سال پیش

استفاده از OSM و Map.ir

OSM/Map.ir
OSM/Map.ir

سلام دوستان عزیز

چند سال پیش وقتی داشتم یک اپ مپ بیس مینوشتم، نیاز داشتم که از Osm یا open street map استفاده کنم. خوب همونطور که میدونید یا شاید هم اطلاع ندارید، برای استفاده از از تایل های osm(تایل ها منظورم همون کاشی هایی هست که کنار هم قرار میگیرن و نقشه رو کامل میکنند) محدودیت وجود داره و شما باید از تایل های خودتون استفاده کنید. برای اون زمان من باید از تایل های ارائه شده در سایت map.ir و کتابخونه osm استفاده میکردم و این تایل هارو با osm مچ میکردم. یادمه که دیتای زیادی وجود نداشت دراین باره.

چندین بار بود که میخواستم کلاسی که برای این کار ساخته بودم رو با دوستان به اشتراک بگذارم، اما متاسفانه فرصت کافی نبود. اما بالاخره میخوام این کار رو انجام بدم.

برای این کار یک ریپازیتوری در گیت هاب به نام mapir ساختم. که برای مشاهدش میتونید اینجا کلیک کنید.

در این پروژه از یک کلاس به نام MapIrTileProvider استفاده کردم. در این کلاس یسری دیتای پیش فرض گذاشتم که میتونید تغییرش بدید. اما مهمترین نکته ای که وجود داره این هست که در متغیر apiKey باید توکن مربوط به خودتون رو که از سایت Map.ir دریافت میکنید وارد کنید.

این کلاس رو باید به mapView.setTileSource بدید.

صرفا از کلاس استفاده کردم و اون رو به زبان کاتلین تبدیل کردم و خیلی زمان برای تغییرات بیشتر صرف نکردم و بیشتر هدفم این بود اگر دوستی به مشکل من خورده بود، بتونه سریع تر مشکلش رو حل کنه. دوستان میتونند خودشون تغییرات رو اعمال کنند.

osmmap
فقط یک برنامه نویس اندروید...
شاید از این پست‌ها خوشتان بیاید