پرش به محتوای اصلی
Vue Neshan Mapsراهنمای توسعه‌دهندگان

مارکرها و پاپ‌آپ

مارکر با شناسهٔ پایدار، پاپ‌آپ متنی و ذخیرهٔ جابه‌جایی بسازید.

۱ دقیقه مطالعهVue 3 / Nuxt 4همراه مثال زنده
مطالب این صفحهمارکرها
مثال تعاملیMapLibre

اجرا روی نقشهٔ واقعی نشان

کلید وب با مجوز دامنه وارد کنید. هندسه نمونه است؛ نقشهٔ پایه واقعی است.

دامنهٔ sajadjanat.github.io را مجاز کنید. کلید فقط در حافظه می‌ماند و وارد کد کپی‌شده نمی‌شود.

‏مارکرها#

‏برای هر مارکر id یکتا و ثابت تعیین کنید. تغییر position آن را جابه‌جا و حذف از آرایه آن را حذف می‌کند. مقدار popup متن ساده است؛ tooltip در MapLibre به عنوان DOM تبدیل می‌شود. کلیک رویداد marker-click و پایان کشیدن رویداد marker-dragend(marker, coordinates) ایجاد می‌کند.

‏تابع saveMarker در نمونه، نتیجهٔ کشیدن را در وضعیت برنامه ذخیره می‌کند؛ بدون این کار، رندر بعدی می‌تواند مارکر را به موقعیت کنترل‌شدهٔ قبلی برگرداند. برای MapLibre از MapLibreMarker و برای Leaflet از MapMarker استفاده کنید؛ تنظیمات بومی آن‌ها یکسان نیست.

ts
markers.value = [...markers.value, {
  id: 'new-place', position: [...center.value], popup: 'New place',
}]
markers.value = markers.value.filter(marker => marker.id !== 'new-place')

‏برای ظاهر کاملاً سفارشی، MapLibre یک HTMLElement در ویژگی element می‌پذیرد. ساخت و پاک‌سازی این DOM بر عهدهٔ شماست؛ HTML نامطمئن وارد نکنید. مارکر پیش‌فرض به DOM سفارشی نیاز ندارد. متد openPopup(id) پاپ‌آپ مارکر موجود را باز می‌کند.

کتابخانهٔ مستقل جامعهٔ توسعه‌دهندگان؛ سرویس و انتساب نقشه متعلق به نشان و OpenStreetMap است. · Sajad Janat · MIT