برای راهاندازی سبکبندی دادهمحور برای مرزها، این مراحل را دنبال کنید.
فعال کردن پردازنده جدید نقشهها
از نسخه ۱۸.۰.۰ «کیت توسعه نرمافزار Google Maps برای Android»، یک پردازنده نقشه ارتقایافته دردسترس است. این پردازنده بهبودهای زیادی را برای «کیت توسعه نرمافزار Google Maps برای Android» بههمراه دارد، ازجمله پشتیبانی از سبکپردازی نقشه بااستفاده از فضای ابری.
با انتشار نسخه ۱۸.۲.۰ از «کیت توسعه نرمافزار Google Maps برای Android»، Google پردازنده پیشفرض را از پردازنده قدیمی به پردازنده ارتقایافته نقشه تغییر داد. این تغییر به این معنی است که اکنون وقتی برنامه جدیدی میسازید یا برنامه موجودی را بازسازی میکنید، بهطور پیشفرض از پردازنده ارتقایافته نقشه در برنامهتان استفاده میشود.
ایجاد شناسه نقشه
برای ایجاد شناسه نقشه جدید، مراحل موجود در ایجاد شناسه نقشه را دنبال کنید. مطمئن شوید نوع نقشه را روی Android تنظیم کرده باشید.
ایجاد سبک نقشه جدید
برای ایجاد سبک نقشه جدید، دستورالعملهای مدیریت سبکهای نقشه را دنبال کنید تا سبک را ایجاد کنید و سبک را با شناسه نقشهای که بهتازگی ایجاد کردهاید مرتبط کنید.
لایه عارضهها را در سبک نقشه جدیدتان انتخاب کنید
در «کنسول Google API» میتوانید انتخاب کنید کدام لایههای عارضه برای سبک نقشه جدیدتان نمایش داده شود. لایه عارضه تعیین میکند کدام نوع مرزها روی نقشه نشان داده شود (برای مثال، محلها، ایالتها، و غیره).
- در «کنسول Google API»، به صفحه «سبکهای نقشه» بروید.
- اگر درخواست شد، پروژهای را انتخاب کنید.
- سبک نقشه را انتخاب کنید.
- روی منو کرکرهای لایههای عارضه کلیک کنید تا لایهها را اضافه یا حذف کنید.
- روی ذخیره کلیک کنید تا تغییراتتان ذخیره شود و در نقشههایتان دردسترس قرار گیرد.
کد مقداردهی اولیه نقشه را بهروز کنید
این مرحله به شناسه نقشهای که بهتازگی ایجاد کردهاید نیاز دارد. میتوانید آن را در صفحه مدیریت Maps پیدا کنید.
برای افزودن شناسه نقشه به کد مقداردهی اولیه، به افزودن شناسه نقشه به برنامه مراجعه کنید.
دسترسی به لایه عارضه نقشه
از شیء FeatureLayer
برای نمایش هر لایه عارضه نقشه، مثل لایه عارضه «کد پستی» یا
«محل»، استفاده میکنید. برای دسترسی به شیء لایه عارضه،
GoogleMap.getFeatureLayer()
را هنگام مقداردهی اولیه نقشه فراخوانی کنید:
جاوا
private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }
Kotlin
private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }
شیء FeatureLayerOptions
را به getFeatureLayer() ارسال کنید تا نوع لایه عارضه را مشخص کنید. در این
مثال، میخواهید به لایه POSTAL_CODE دسترسی پیدا کنید. برای هر لایهای که میخواهید سبکبندی کنید، شیء FeatureLayer متفاوتی ایجاد کنید.
وقتی شیء FeatureLayer را داشته باشید، میتوانید به چندضلعیهای مرزی در آن عارضه سبک اعمال کنید.
بررسی قابلیتهای نقشه (الزامی)
سبکبندی دادهمحور برای مرزها به شناسه نقشه نیاز دارد. اگر شناسه نقشه وجود نداشته باشد یا شناسه نقشه نامعتبری ارسال شود، سبکبندی دادهمحور برای مرزها بار نمیشود. بهعنوان
مرحله عیبیابی، میتوانید از
MapCapabilities
استفاده کنید تا بررسی کنید آیا سبکبندی دادهمحور برای مرزها پشتیبانی میشود یا نه.
Kotlin
val capabilities: MapCapabilities = googleMap.getMapCapabilities() System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())
جاوا
MapCapabilities capabilities = googleMap.getMapCapabilities(); System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());