سبک نقشه پایه جدید به زودی به پلتفرم نقشه های گوگل می آید. این بهروزرسانی برای استایل نقشه شامل یک پالت رنگی پیشفرض جدید، پینهای مدرن شده و بهبودهایی در تجربهها و قابلیت استفاده از نقشه است. همه سبکهای نقشه بهطور خودکار در مارس 2025 بهروزرسانی میشوند. برای اطلاعات بیشتر در مورد در دسترس بودن و نحوه انتخاب زودتر، به سبک نقشه جدید برای پلتفرم Google Maps مراجعه کنید.
علاوه بر تغییر سبک ویژگیهای روی نقشه، میتوانید آنها را به طور کامل پنهان کنید. این مثال به شما نشان می دهد که چگونه نقاط مورد علاقه تجاری (POI) و نمادهای حمل و نقل عمومی را روی نقشه خود پنهان کنید.
یک ظاهر طراحی شده فقط در نوع نقشه normal کار می کند. استایل بر روی نقشههای داخلی تأثیر نمیگذارد، بنابراین استفاده از استایل برای پنهان کردن ویژگیها مانع از نمایش پلانهای طبقه داخلی روی نقشه نمیشود.
یک شی به سبک JSON را به نقشه خود ارسال کنید
برای استایل دادن به نقشه خود، با ارسال یک شی MapStyleOptions که حاوی اعلان های سبک شما در قالب JSON است، با GoogleMap.setMapStyle() تماس بگیرید. همانطور که در مثال های زیر نشان داده شده است، می توانید 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)));}}
یک منبع رشته ای را در /res/values/style_strings.xml تعریف کنید که حاوی اعلان سبک JSON زیر برای پنهان کردن نقاط مورد علاقه تجاری (POI) است. در این فایل برای فرار از علامت نقل قول باید از بک اسلش استفاده کنید:
نقشه های سبک از دو مفهوم برای اعمال رنگ ها و سایر تغییرات سبک در نقشه استفاده می کنند:
انتخابگرها اجزای جغرافیایی را مشخص میکنند که میتوانید روی نقشه استایل دهید. اینها شامل جاده ها، پارک ها، منابع آبی و موارد دیگر و همچنین برچسب های آنها می شود. انتخابگرها شامل ویژگیها و عناصر هستند که به عنوان ویژگیهای featureType و elementType مشخص میشوند.
استایلرها ویژگیهای رنگ و دید هستند که میتوانید روی عناصر نقشه اعمال کنید. آنها رنگ نمایش داده شده را از طریق ترکیبی از مقادیر رنگ، رنگ و روشنایی/گاما تعریف می کنند.
برای توضیحات مفصل گزینه های سبک JSON به مرجع سبک مراجعه کنید.
از Maps Platform Styling Wizard به عنوان یک راه سریع برای تولید یک شی استایل JSON استفاده کنید. Maps SDK برای Android از اعلانهای سبک مشابه با Maps JavaScript API پشتیبانی میکند.
نمونه کد کامل
مخزن ApiDemos در GitHub شامل نمونه هایی است که استفاده از استایل را نشان می دهد.
علاوه بر تغییر سبک ویژگیهای روی نقشه، میتوانید آنها را به طور کامل پنهان کنید. این مثال به شما نشان می دهد که چگونه نقاط مورد علاقه تجاری (POI) و نمادهای حمل و نقل عمومی را روی نقشه خود پنهان کنید.
یک ظاهر طراحی شده فقط در نوع نقشه normal کار می کند. استایل بر روی نقشههای داخلی تأثیر نمیگذارد، بنابراین استفاده از استایل برای پنهان کردن ویژگیها مانع از نمایش پلانهای طبقه داخلی روی نقشه نمیشود.
یک شی به سبک JSON را به نقشه خود ارسال کنید
برای استایل دادن به نقشه خود، با GoogleMap.setMapStyle() تماس بگیرید و یک شی MapStyleOptions را که حاوی اعلان های سبک شما در قالب JSON است ارسال کنید. همانطور که در مثال های زیر نشان داده شده است، می توانید 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)));}}
یک منبع رشته ای را در /res/values/style_strings.xml تعریف کنید که حاوی اعلان سبک JSON زیر برای پنهان کردن نقاط مورد علاقه تجاری (POI) است. در این فایل برای فرار از علامت نقل قول باید از بک اسلش استفاده کنید:
نقشه های سبک از دو مفهوم برای اعمال رنگ ها و سایر تغییرات سبک در نقشه استفاده می کنند:
انتخابگرها اجزای جغرافیایی را مشخص میکنند که میتوانید روی نقشه استایل دهید. اینها شامل جاده ها، پارک ها، منابع آبی و موارد دیگر و همچنین برچسب های آنها می شود. انتخابگرها شامل ویژگیها و عناصر هستند که به عنوان ویژگیهای featureType و elementType مشخص میشوند.
استایلرها ویژگیهای رنگ و دید هستند که میتوانید روی عناصر نقشه اعمال کنید. آنها رنگ نمایش داده شده را از طریق ترکیبی از مقادیر رنگ، رنگ و روشنایی/گاما تعریف می کنند.
برای توضیحات مفصل گزینه های سبک JSON به مرجع سبک مراجعه کنید.
از Maps Platform Styling Wizard به عنوان یک راه سریع برای تولید یک شی استایل JSON استفاده کنید. Maps SDK برای Android از اعلانهای سبک مشابه با Maps JavaScript API پشتیبانی میکند.
نمونه کد کامل
مخزن ApiDemos در GitHub شامل نمونه هایی است که استفاده از استایل را نشان می دهد.