مستندات پارسی‌مپ

مستندات / جاوااسکریپت / منابع / لایه

Layer

لایه یا Layer شامل یک یا مجموعه‌ای از Featureهای مختلفی است که از طریق متدهای نقشه که مرتبط با لایه هستند می‌توان لایه را مدیریت کرد.

لایه‌ها شامل مجموعه‌ای مختلف از عارضه‌ها نیز می‌شوند. برای نمونه یک لایه قادر است در برگیرنده یک عارضه نقطه‌ای به همراه عارضه‌های دیگری از قبیل عارضه چندضلعی نیز باشد. بدین صورت هر لایه به عنوان یک والد برای عارضه‌ها معنی پیدا می‌کند و مدیریت جزئیات گرافیکی روی نقشه تاحد زیادی راحت و تحت کنترل بیشتری خواهد بود.

هر لایه دارای دو گزینه است که از طریق آن می‌توان نمایش عارضه‌ها را بروی نقشه کنترل نمود. گزینه‌های لایه شامل گزینه‌هایی است که با بکارگیری آنها می‌توان در محدوده سطح بزرگنمایی خاص عارضه‌ها را نمایش داده یا آنها را درون خوشه‌هایی دسته بندی کند.

LayerId

هر لایه شامل layerId یکتایی است که از طریق این شناسه می‌توان از وجود داشتن لایه با خبر شده و یا آنرا حذف نمود.

LayerOptions

  • number minZoom - حداقل سطح بزرگنمایی.
  • number minZoom - حداکثر سطح بزرگنمایی.
  • boolean clusterable - قابلیت خوشه‌ای برای مجموعه‌ای از نقاط جغرافیایی برای راحت‌تر شدن نمایش و دسته‌بندی بر اساس مقیاس.
  • ClusterStyles clusterStyles

گزینه minZoom یا maxZoom اگر به تنهایی قرار گرفته شوند اشاره به حداقل یا حداکثر سطح بزرگنمایی در نقشه دارد که لایه مدنظر در آن نمایش داده شود. ولی اگر هر دو مورد استفاده قرار گیرد نشان از محدودیت نمایش بین دو سطح بزرگنمایی دارد.

مثال

اگر minZoom برابر 14 و maxZoom برابر 16 باشد. در این صورت عارضه‌های لایه تنها در بین zoom یا سطح بزرگنمایی 14 تا 16 قابل نمایش است.

// Layer is displayed in zoom level 14 to 16.
    map.createLayer(
        'LAYER_ID',
        { latlng: { lat: 35.7575, lng: 51.41 } }, // Point Feature
        { minZoom: 14, maxZoom: 16 } // Zoom Limitation
    )

    // Layer is displayed from zoom level 14.
    map.createLayer(
        'LAYER_ID',
        { latlng: { lat: 35.7575, lng: 51.41 } }, // Point Feature
        { minZoom: 14 }
    )

در کد یک عارضه نقطه‌ای توسط متد createLayer ایجاد شده است.

ClusterStyles

استایل‌های خوشه‌بندی شامل سه مقیاس low (تعداد عارضه کمتر از 10)، medium (تعداد عارضه کمتر از 100) و high (تعداد عارضه بیشتر از 100) است. که منظور از تعداد عارضه‌ها مجموع عارضه‌هایی است که مجاور هم و نزدیک به یک مختصات است.

همجواری عارضه‌ها در زوم‌های مختلف متفاوت است.

هر سه مقیاس توسط استایل نقطه قابلیت سفارشی‌سازی شکل ظاهری نقطه را دارد.

مثال

map.createLayer(
        'LAYER_ID',

        // Array of point features.
        [
            { latlng: { lat: 35.7575, lng: 51.419 } },
            { latlng: { lat: 35.7575, lng: 51.42 } },
            { latlng: { lat: 35.756, lng: 51.419 } },
            { latlng: { lat: 35.758, lng: 51.429 } },
            { latlng: { lat: 35.7589, lng: 51.419 } },
            { latlng: { lat: 35.753, lng: 51.431 } },
            { latlng: { lat: 35.7575, lng: 51.419 } },
            { latlng: { lat: 35.751, lng: 51.45 } },
            { latlng: { lat: 35.7512, lng: 51.49 } },
            { latlng: { lat: 35.7556, lng: 51.43 } },
        ],

        {
            clusterable: true, // The layer can be clustered.

            // The medium density of cluster style used.
            clusterStyles: {
                medium: {
                    size: { width: 70, height: 70 }, // Using size of cluster icon.
                },
            },
        }
    )

در کد یک عارضه نقطه‌ای توسط متد createLayer ایجاد شده و نوع استایل بکار رفته PointStyle است.

LayerMethods

متدهای مربوط به مدیریت لایه‌ها بخشی از متدهای نقشه هستند.

  • createLayer: متد ایجاد لایه یک لایه را از طریق layerId و یک یا مجموعه‌ای از Featureهای مختلف ایجاد می‌کند.

    اگر layerId تکراری یا از قبل وجود داشته باشد، لایه جدید با عارضه‌های خود جایگزین آن می‌شود. گزینه‌های لایه را می‌توان برای کنترل نمایش عارضه‌ها در این متد بکارگرفت.

  • hasLayer: متد صحت وجود لایه از طریق layerId قادر است اطلاعاتی را مبنی بر وجود داشتن لایه ارائه دهد.
  • hasLayer: متد حذف لایه از طریق layerId قادر است لایه مربوطه را به همراه تمامی عارضه‌ها، از نقشه حذف کند.