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

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

Map

Map(options)

پارامترها:

ایجاد یک نقشه جدید داخل container تعیین شده.

MapOptions

  • string id - مقدار یکتا و id مربوط به div که نقشه در داخل آن ایجاد می‌شود.
  • LatLng center - طول و عرض مرکز نقشه.
  • number|string height (غیرضروری) - ارتفاع نقشه. پیشفرض: 200.
  • number zoom (غیرضروری) - سطح بزرگنمایی اولیه نقشه. پیشفرض: 17.
  • number minZoom (غیرضروری) - حداقل سطح بزرگنمایی نقشه. پیشفرض: 4.
  • number maxZoom (غیرضروری) - حداکثر سطح بزرگنمایی نقشه. پیشفرض: 18.
  • Element container (غیرضروری) - قرار دادن نقشه درون element.
  • MapEvents events (غیرضروری)
  • MapControls controls (غیرضروری)
  • MapTools tools (غیرضروری)
  • MapPlugins plugins (غیرضروری)

برای اعمال ارتفاع نقشه مقدار height می‌‌تواند به صورت عددی برحسب پیکسل، به صورت درصدی یا تمام صفحه full باشد. container می‌تواند به صورت Dynamic Container یا element موجود در document بکارگرفته شود.

MapOptions {
    id: string,
    center: LatLng,
    height?: number|string,
    zoom?: number,
    minZoom?: number,
    maxZoom?: number,
    container?: Element,
    events?: MapEvents,
    controls?: MapControls,
    tools?: MapTools,
    plugins?: MapPlugins[]
}

ready

آرگومان‌ها:

زمانیکه نقشه به طور کامل اجراء شده باشد، این event صدا زده می‌شود و در برگیرنده شیء نقشه است.

click

آرگومان‌ها:

زمانیکه بروی نقشه click شده باشد، این event صدا زده می‌شود.

mousedown

آرگومان‌ها:

بلافاصله پس از click بروی نقشه، این event صدا زده می‌شود و تفاوت آن با رویداد click در این است که رویداد click اگر همراه با آن نقشه جابه‌جا شود دیگر این رویداد صدا زده نمی‌شود ولی رویداد mousedown در هر صورت ، این event صدا زده می‌شود.

mousemove

آرگومان‌ها:

هنگامی که اشاره‌گر ماوس بروی نقشه جابه‌جا شود، این event صدا زده می‌شود.

movestart

آرگومان‌ها: فاقد ورودی

هنگام جابه‌جایی نقشه ، این event صدا زده می‌شود.

moveend

آرگومان‌ها: فاقد ورودی

پس از جابه‌جایی نقشه ، این event صدا زده می‌شود.

zoomstart

آرگومان‌ها: فاقد ورودی

هنگام تغییر سطح بزرگنمایی نقشه ، این event صدا زده می‌شود.

zoomend

آرگومان‌ها:

  • object event
    • number zoom - سطح بزرگنمایی.

پس از تغییر سطح بزرگنمایی نقشه ، این event صدا زده می‌شود.

MapControls

MapControls {
    geocode?: GeocodeControl,
    basemap?: BasemapControl,
    tracker?: TrackerControl,
    attribution?: AttributionControl
}

MapTools

MapTools {
    draw?: drawOptions,
    selector?: SelectorTool
}

MapPlugins

  • new Object - اختصاص pluginهای نقشه.

اختصاص به صورت ایجاد شیء از کلاس مربوط به plugin مدنظر و قرار دادن آن در مجموعه plugins نقشه امکان پذیر است. برای نمونه پلاگین ScreenShoot باید به صورت تعریف شیء از آن به plugins اختصاص یابد.

plugins: [ new ScreenShoot() ]
MapPlugins [
    new Object
]

getView()

پارامترها: فاقد ورودی

مقدار بازگشتی: View

مقدار بازگشتی View از نقشه مورد پیشمایش، شامل: طول و عرض جغرافیایی به همراه کران و سطح بزرگنمایی فعلی نقشه است. کران شامل دو نقطه شمال غربی و جنوب شرقی و طول و عرض مربوط به مرکز نقشه است.

getContainer()

پارامترها: فاقد ورودی

مقدار بازگشتی: Element

مقدار بازگشتی Container مربوط به نقشه.

getHeight()

پارامترها: فاقد ورودی

مقدار بازگشتی: number|string

مقدار بازگشتی ارتفاع مربوط به نقشه.

getAngle(origin, dist)

پارامترها:

  • LatLng origin - طول و عرض جغرافیایی مبدأ.
  • LatLng dist - طول و عرض جغرافیایی مقصد.

مقدار بازگشتی: number

map.getAngle(
    { lat: 35.00263, lng: 50.99729 },
    { lat: 34.99736, lng: 51.00272 }
);

// Output:
44.14330452886267

مقدار بازگشتی عددی است که حاصل محاسبه زاویه بین دو نقطه مبدأ و مقصد است که از 0 تا 360 درجه را شامل می‌شود و می‌تواند مقدار درجه به صورت منفی نیز باشد.

getDistance(origin, dist)

پارامترها:

  • LatLng origin - طول و عرض جغرافیایی مبدأ.
  • LatLng dist - طول و عرض جغرافیایی مقصد.

مقدار بازگشتی: number

map.getDistance(
    { lat: 35.00263, lng: 50.99729 },
    { lat: 34.99736, lng: 51.00272 }
);

// Output:
766.8223950836336

مقدار بازگشتی عددی است که حاصل محاسبه فاصله بین دو نقطه مبدأ و مقصد بر حسب متر است.

createLayer(layerId, features [, options])

پارامترها:

مقدار بازگشتی: number

map.createLayer('LAYER_ID', {
    ftype: 'point',
    latlng: { lat: 35.7575, lng: 51.419 },
})

// Output:
[
    {
        ftype: 'point',
        latlng: {
            lat: 35.7575,
            lng: 50.4099,
            getContainer: function() {},

            // Includes: addListener, removeListener, clearListeners
            // EVENT_MANAGEMENT object
        },
        layerId: 'LAYER_ID',
    }
]

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

hasLayer(layerId)

پارامترها:

  • string layerId - شناسه لایه.

مقدار بازگشتی: boolean

مقدار بازگشتی مقداری از true یا false نشان‌گر موجود بودن لایه است.

removeLayer(layerId)

پارامترها:

  • string layerId - شناسه لایه.

مقدار بازگشتی: فاقد مقدار

توسط شناسه لایه مدنظر از نقشه حذف می‌گردد.

addListener(eventName, handler)

پارامترها:

  • string eventName
  • Function handler - اختصاص callback.

مقدار بازگشتی: number

مقدار بازگشتی listenerId مربوط به listener ایجاد شده از طریق تخصیص نام رویداد و callback تعیین شده به عنوان handler یک رویداد. زمانی که رویداد صدا زده می‌شود تابع اختصاص یافته، اجرا شود.

removeListener(eventName, listenerId)

پارامترها:

  • string eventName
  • string listenerId

مقدار بازگشتی: فاقد مقدار

یک listener از طریق نام رویداد و شناسه مدنظر حذف می‌گردد.

clearListeners(eventName)

پارامترها:

  • string eventName

مقدار بازگشتی: فاقد مقدار

کل listenerهای اختصاص یافته به یک event حذف می‌گردد.

addControl(html, options)

پارامترها:

مقدار بازگشتی: فاقد مقدار

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

remove()

پارامترها: فاقد ورودی

مقدار بازگشتی: فاقد مقدار

حذف کامل نقشه و بازگردانی Container به حالت قبل از ساخت نقشه.

setView(view)

پارامترها:

مقدار بازگشتی: فاقد مقدار

// Change center of map.
map.setView({ center: { lat: 35.7575, lng: 51.41 } })

// Change center and zoom of map.
map.setView({
    center: { lat: 35.7575, lng: 51.419 },
    zoom: 18,
})

با توجه به پراپرتی‌های قابل استفاده از نوع View که شامل zoom و center است، طول و عرض مرکز و سطح بزرگنمایی نقشه تعیین می‌شود، درصورتیکه تنها از center استفاده شود طبیعتاً فقط مرکز نقشه تغییر خواهد کرد.

setView(center [, zoom])

پارامترها:

  • LatLng center
  • number zoom (غیرضروری) - سطح بزرگنمایی نقشه.

مقدار بازگشتی: فاقد مقدار

// Change center of map.
map.setView({ lat: 35.7575, lng: 51.41 })

// Change center and zoom of map.
map.setView({ lat: 35.7575, lng: 51.419 }, 18)

پارامتر اول یا center جهت تغییر طول و عرض مرکز نقشه و پارامتر بعدی zoom برای تغییر سطح بزرگنمایی کاربرد دارد. درصورتیکه تنها از center استفاده شود طبیعتاً فقط مرکز نقشه تغییر خواهد کرد.

setBounds(bounds)

پارامترها:

مقدار بازگشتی: فاقد مقدار

// Change center and zoom of map by bounds.
map.setBounds({
    northWest: { lat: 35.7575, lng: 51.41 },
    southEast: { lat: 35.7586, lng: 51.426 },
})

// Change center and zoom of map by latlngs.
map.setBounds([
    { lat: 35.7575, lng: 51.41 },
    { lat: 35.7576, lng: 51.410 },
    { lat: 35.7571, lng: 51.420 }
])

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

setBounds(northWest, southEast)

پارامترها:

مقدار بازگشتی: فاقد مقدار

// Change center and zoom of map by northWest and southEast.
map.setBounds(
    { lat: 35.7575, lng: 51.41 },
    { lat: 35.7586, lng: 51.426 }
)

تغییر center و zoom نقشه بر اساس مشخص کردن طول و عرض مربوط به northWest و southEast یا شمال غربی و جنوب شرقی.

setBasemap(basemapId)

پارامترها:

  • string basemapId

مقدار بازگشتی: فاقد مقدار

تغییر Tile نقشه بر اساس شناسه basemapId.

setOverlay(basemapId [, options])

پارامترها:

مقدار بازگشتی: فاقد مقدار

تغییر Tile پوششی نقشه بر اساس شناسه basemapId و تعیین سطح شفافیت آن از طریق تعیین alpha مربوط به گزینه‌های Tile نقشه.

Tile پوششی زمانی که نیاز به استفاده از دو نقشه به صورتیکه یک نقشه ثانویه بروی نقشه دیگر قرار گیرد گزینه مناسبی برای اینکار خواهد بود.

setHeight(height)

پارامترها:

  • number|string height - ارتفاع نقشه

مقدار بازگشتی: فاقد مقدار

تغییر height نقشه.