سبک نقشه پایه جدید به زودی به پلتفرم نقشه های گوگل می آید. این بهروزرسانی برای استایل نقشه شامل یک پالت رنگی پیشفرض جدید، پینهای مدرن شده و بهبودهایی در تجربهها و قابلیت استفاده از نقشه است. همه سبکهای نقشه بهطور خودکار در مارس 2025 بهروزرسانی میشوند. برای اطلاعات بیشتر در مورد در دسترس بودن و نحوه انتخاب زودتر، به سبک نقشه جدید برای پلتفرم Google Maps مراجعه کنید.
این آموزش به شما نشان می دهد که چگونه یک نقشه با استایل سفارشی به برنامه اندروید خود اضافه کنید. این آموزش از حالت شب به عنوان نمونه ای از یک ظاهر طراحی سفارشی استفاده می کند.
با گزینههای سبک میتوانید نمایش سبکهای استاندارد نقشه Google را سفارشی کنید، نمایش بصری ویژگیهایی مانند جادهها، پارکها، مشاغل و سایر نقاط مورد علاقه را تغییر دهید. این بدان معنی است که می توانید بر اجزای خاصی از نقشه تأکید کنید یا نقشه را مکمل سبک برنامه خود کنید.
یک ظاهر طراحی شده فقط در نوع نقشه normal کار می کند. یک ظاهر طراحی روی نقشه های داخلی تأثیر نمی گذارد.
کلید API خود را در مقدار ویژگی GOOGLE_MAPS_API_KEY قرار دهید. وقتی برنامه خود را میسازید، Gradle کلید API را در مانیفست اندروید برنامه کپی میکند.
GOOGLE_MAPS_API_KEY=PASTE-YOUR-API-KEY-HERE
اپلیکیشن خود را بسازید و اجرا کنید
یک دستگاه اندرویدی را به رایانه خود وصل کنید. دستورالعمل ها را دنبال کنید تا گزینه های توسعه دهنده را در دستگاه Android خود فعال کنید و سیستم خود را برای شناسایی دستگاه پیکربندی کنید. (از طرف دیگر، میتوانید از مدیر دستگاه مجازی Android (AVD) برای پیکربندی یک دستگاه مجازی استفاده کنید. هنگام انتخاب یک شبیهساز، مطمئن شوید که تصویری را انتخاب کردهاید که شامل APIهای Google باشد. برای جزئیات بیشتر، راهنمای شروع کار را ببینید.)
در اندروید استودیو، روی گزینه منوی Run (یا نماد دکمه پخش) کلیک کنید. همانطور که از شما خواسته شده یک دستگاه را انتخاب کنید.
اندروید استودیو از Gradle برای ساخت برنامه فراخوانی می کند و سپس برنامه را روی دستگاه یا شبیه ساز اجرا می کند. شما باید نقشه ای را با حالت تاریک (حالت شب) مشابه تصویر این صفحه ببینید.
عیب یابی:
اگر نقشهای را نمیبینید، همانطور که در بالا توضیح داده شد، بررسی کنید که یک کلید API دریافت کردهاید و آن را به برنامه اضافه کردهاید. ورود به سیستم مانیتور اندروید استودیو اندروید را برای پیام های خطا در مورد کلید API بررسی کنید.
این بخش از آموزش مهم ترین بخش های برنامه StyledMap را توضیح می دهد تا به شما در درک نحوه ساخت یک برنامه مشابه کمک کند.
یک منبع حاوی یک شی به سبک JSON اضافه کنید
منبعی را به پروژه توسعه خود اضافه کنید که حاوی اعلان های سبک شما در قالب JSON باشد. همانطور که در مثال های زیر نشان داده شده است، می توانید از یک منبع خام یا یک رشته استفاده کنید.
منبع خام
یک منبع خام را در /res/raw/style_json.json تعریف کنید که حاوی اعلان سبک JSON برای استایلسازی در حالت شب است:
یک منبع رشته را در /res/values/style_strings.xml تعریف کنید که حاوی اعلان سبک JSON برای استایلسازی در حالت شب است. این آموزش از نام رشته style_json استفاده می کند. در این فایل برای فرار از علامت نقل قول باید از بک اسلش استفاده کنید:
نمونه کد زیر فرض می کند که پروژه شما حاوی یک منبع رشته ای به نام style_json است:
packagecom.example.styledmap;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.util.Log;importcom.google.android.gms.maps.CameraUpdateFactory;importcom.google.android.gms.maps.GoogleMap;importcom.google.android.gms.maps.OnMapReadyCallback;importcom.google.android.gms.maps.SupportMapFragment;importcom.google.android.gms.maps.model.LatLng;importcom.google.android.gms.maps.model.MapStyleOptions;/***AstyledmapusingJSONstylesfromastringresource.*/publicclassMapsActivityStringextendsAppCompatActivityimplementsOnMapReadyCallback{privatestaticfinalStringTAG=MapsActivityString.class.getSimpleName();@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//Retrievethecontentviewthatrendersthemap.setContentView(R.layout.activity_maps_string);//GettheSupportMapFragmentandregisterforthecallback//whenthemapisreadyforuse.SupportMapFragmentmapFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);mapFragment.getMapAsync(this);}/***Manipulatesthemapwhenit's available.*TheAPIinvokesthiscallbackwhenthemapisreadyforuse.*/@OverridepublicvoidonMapReady(GoogleMapgoogleMap){//CustomisethestylingofthebasemapusingaJSONobjectdefined//inastringresourcefile.FirstcreateaMapStyleOptionsobject//fromtheJSONstylesstring,thenpassthistothesetMapStyle//methodoftheGoogleMapobject.booleansuccess=googleMap.setMapStyle(newMapStyleOptions(getResources().getString(R.string.style_json)));if(!success){Log.e(TAG,"Style parsing failed.");}//Positionthemap's camera near Sydney, Australia.googleMap.moveCamera(CameraUpdateFactory.newLatLng(newLatLng(-34,151)));}}
نقشه های سبک از دو مفهوم برای اعمال رنگ ها و سایر تغییرات سبک در نقشه استفاده می کنند:
انتخابگرها اجزای جغرافیایی را مشخص میکنند که میتوانید روی نقشه استایل دهید. اینها شامل جاده ها، پارک ها، منابع آبی و موارد دیگر و همچنین برچسب های آنها می شود. انتخابگرها شامل ویژگیها و عناصر هستند که به عنوان ویژگیهای featureType و elementType مشخص میشوند.
استایلرها ویژگیهای رنگ و دید هستند که میتوانید روی عناصر نقشه اعمال کنید. آنها رنگ نمایش داده شده را از طریق ترکیبی از مقادیر رنگ، رنگ و روشنایی/گاما تعریف می کنند.
برای توضیحات مفصل گزینه های سبک JSON به مرجع سبک مراجعه کنید.
از Maps Platform Styling Wizard به عنوان یک راه سریع برای تولید یک شی استایل JSON استفاده کنید. Maps SDK برای Android از اعلانهای سبک مشابه با Maps JavaScript API پشتیبانی میکند.
این آموزش به شما نشان می دهد که چگونه یک نقشه با استایل سفارشی به برنامه اندروید خود اضافه کنید. این آموزش از حالت شب به عنوان نمونه ای از یک ظاهر طراحی سفارشی استفاده می کند.
با گزینههای سبک میتوانید نمایش سبکهای استاندارد نقشه Google را سفارشی کنید، نمایش بصری ویژگیهایی مانند جادهها، پارکها، مشاغل و سایر نقاط مورد علاقه را تغییر دهید. این بدان معنی است که می توانید بر اجزای خاصی از نقشه تأکید کنید یا نقشه را مکمل سبک برنامه خود کنید.
یک ظاهر طراحی شده فقط در نوع نقشه normal کار می کند. یک ظاهر طراحی روی نقشه های داخلی تأثیر نمی گذارد.
کلید API خود را در مقدار ویژگی GOOGLE_MAPS_API_KEY قرار دهید. وقتی برنامه خود را میسازید، Gradle کلید API را در مانیفست اندروید برنامه کپی میکند.
GOOGLE_MAPS_API_KEY=PASTE-YOUR-API-KEY-HERE
اپلیکیشن خود را بسازید و اجرا کنید
یک دستگاه اندرویدی را به رایانه خود وصل کنید. دستورالعمل ها را دنبال کنید تا گزینه های توسعه دهنده را در دستگاه Android خود فعال کنید و سیستم خود را برای شناسایی دستگاه پیکربندی کنید. (از طرف دیگر، میتوانید از مدیر دستگاه مجازی Android (AVD) برای پیکربندی یک دستگاه مجازی استفاده کنید. هنگام انتخاب یک شبیهساز، مطمئن شوید که تصویری را انتخاب کردهاید که شامل APIهای Google باشد. برای جزئیات بیشتر، راهنمای شروع کار را ببینید.)
در اندروید استودیو، روی گزینه منوی Run (یا نماد دکمه پخش) کلیک کنید. همانطور که از شما خواسته شده یک دستگاه را انتخاب کنید.
اندروید استودیو از Gradle برای ساخت برنامه فراخوانی می کند و سپس برنامه را روی دستگاه یا شبیه ساز اجرا می کند. شما باید نقشه ای را با حالت تاریک (حالت شب) مشابه تصویر این صفحه ببینید.
عیب یابی:
اگر نقشهای را نمیبینید، همانطور که در بالا توضیح داده شد، بررسی کنید که یک کلید API دریافت کردهاید و آن را به برنامه اضافه کردهاید. ورود به سیستم مانیتور اندروید استودیو اندروید را برای پیام های خطا در مورد کلید API بررسی کنید.
این بخش از آموزش مهم ترین بخش های برنامه StyledMap را توضیح می دهد تا به شما در درک نحوه ساخت یک برنامه مشابه کمک کند.
یک منبع حاوی یک شی به سبک JSON اضافه کنید
منبعی را به پروژه توسعه خود اضافه کنید که حاوی اعلان های سبک شما در قالب JSON باشد. همانطور که در مثال های زیر نشان داده شده است، می توانید از یک منبع خام یا یک رشته استفاده کنید.
منبع خام
یک منبع خام را در /res/raw/style_json.json تعریف کنید که حاوی اعلان سبک JSON برای استایلسازی در حالت شب است:
یک منبع رشته را در /res/values/style_strings.xml تعریف کنید که حاوی اعلان سبک JSON برای استایلسازی در حالت شب است. این آموزش از نام رشته style_json استفاده می کند. در این فایل برای فرار از علامت نقل قول باید از بک اسلش استفاده کنید:
نمونه کد زیر فرض می کند که پروژه شما حاوی یک منبع رشته ای به نام style_json است:
packagecom.example.styledmap;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.util.Log;importcom.google.android.gms.maps.CameraUpdateFactory;importcom.google.android.gms.maps.GoogleMap;importcom.google.android.gms.maps.OnMapReadyCallback;importcom.google.android.gms.maps.SupportMapFragment;importcom.google.android.gms.maps.model.LatLng;importcom.google.android.gms.maps.model.MapStyleOptions;/***AstyledmapusingJSONstylesfromastringresource.*/publicclassMapsActivityStringextendsAppCompatActivityimplementsOnMapReadyCallback{privatestaticfinalStringTAG=MapsActivityString.class.getSimpleName();@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);//Retrievethecontentviewthatrendersthemap.setContentView(R.layout.activity_maps_string);//GettheSupportMapFragmentandregisterforthecallback//whenthemapisreadyforuse.SupportMapFragmentmapFragment=(SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map);mapFragment.getMapAsync(this);}/***Manipulatesthemapwhenit's available.*TheAPIinvokesthiscallbackwhenthemapisreadyforuse.*/@OverridepublicvoidonMapReady(GoogleMapgoogleMap){//CustomisethestylingofthebasemapusingaJSONobjectdefined//inastringresourcefile.FirstcreateaMapStyleOptionsobject//fromtheJSONstylesstring,thenpassthistothesetMapStyle//methodoftheGoogleMapobject.booleansuccess=googleMap.setMapStyle(newMapStyleOptions(getResources().getString(R.string.style_json)));if(!success){Log.e(TAG,"Style parsing failed.");}//Positionthemap's camera near Sydney, Australia.googleMap.moveCamera(CameraUpdateFactory.newLatLng(newLatLng(-34,151)));}}
نقشه های سبک از دو مفهوم برای اعمال رنگ ها و سایر تغییرات سبک در نقشه استفاده می کنند:
انتخابگرها اجزای جغرافیایی را مشخص میکنند که میتوانید روی نقشه استایل دهید. اینها شامل جاده ها، پارک ها، منابع آبی و موارد دیگر و همچنین برچسب های آنها می شود. انتخابگرها شامل ویژگیها و عناصر هستند که به عنوان ویژگیهای featureType و elementType مشخص میشوند.
استایلرها ویژگیهای رنگ و دید هستند که میتوانید روی عناصر نقشه اعمال کنید. آنها رنگ نمایش داده شده را از طریق ترکیبی از مقادیر رنگ، رنگ و روشنایی/گاما تعریف می کنند.
برای توضیحات مفصل گزینه های سبک JSON به مرجع سبک مراجعه کنید.
از Maps Platform Styling Wizard به عنوان یک راه سریع برای تولید یک شی استایل JSON استفاده کنید. Maps SDK برای Android از اعلانهای سبک مشابه با Maps JavaScript API پشتیبانی میکند.
تاریخ آخرین بهروزرسانی 2025-01-09 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-01-09 بهوقت ساعت هماهنگ جهانی."],[],[]]