راکت
Amirfaramarzi
Amirfaramarzi
توسط Amirfaramarzi مطرح شد
5 پاسخ

لود نشدن نقشه ی کامپوننت vue2 leaflet در تب

دوستان من دارم از

Vue۲-leaflet استفاده میکنم

و نقشه توی یه تب منو هستش بخاطر همین درست کار نمیکنه و نقشه کامل لود نمیشه کسی میدونه چطور درستش کنم؟


ثبت پرسش جدید
علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat7 سال پیشمطرح شد
0

برای کار کردن با Vue2-Leaflet باید ساختاری شبیه زیر رو دنبال کنید:

تمپلت :

<div id="app">
    <l-map ref="map" :zoom="zoom" :center="center">
        <l-tile-layer :url="url" :attribution="attribution"></l-tile-layer>
        <l-marker :lat-lng="marker"></l-marker>
    </l-map>
</div>

اسکریپت :


let { LMap, LTileLayer, LMarker } = Vue2Leaflet;

new Vue({
  el: '#app',
  components: { LMap, LTileLayer, LMarker },
  data() {
    return {
      zoom:13,
      center: L.latLng(47.413220, -1.219482),
      url:'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
      attribution:'&copy; ',
      marker: L.latLng(47.413220, 31.219482),
    }
  }
});

Amirfaramarzi
Amirfaramarzi
@faramarzii.amir7 سال پیشمطرح شد
0

@ali.bayat

از هیمن کد استفاده میکنم تنها مشکلم اینه نقشه کامل لود نمیشه دوستان میگن باید یه کد بنویسی ک هروقت روی تب کلیک شد نقشه ریلود بشه ولی نمیدونم چطور


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat7 سال پیشمطرح شد
0

خوب از اِوِنت ها استفاده کنید.
اگر کلیک شدن رو داخل Vue میخواهید دسترسی داشته باشید:

<TabComponent @click="doSomething"> </TabComponent>

و اگر میخواهید از اِوِنت‌های مپ استفاده کنید٬ آدرس زیر:
https://leafletjs.com/reference-1.3.0.html#map-event


yacsd saeedi
yacsd saeedi
@saeediyacsd6 سال پیشمطرح شد
0

سلام من تازه میخوام با map کار کنم
امکاناتی که میخوام رو کامپوننت leaflet داره
ولی نمیدونم چطوری باید تنظیمش کنم و چه امکاناتی داره
یه منبع فارسی مناسب میشه معرفی کنید بهم؟


محمد مهدی کارگر
محمد مهدی کارگر
تخصص :طراح و برنامه نویس
@unlocker6 سال پیشمطرح شد
0

@saeediyacsd
بله متاسفانه بعضی وقت ها این مشکل بنا به استفاده از استایل های مخلف در قالب های مختلف رخ میده.
طبق این issue خیلی ها مثل شما به این مورد برخوردن
https://github.com/vue-leaflet/Vue2Leaflet/issues/96
این رو به کدتون اضافه کنید ، احتمال زیاد حل بشه.

mounted() {
      setTimeout(function() { window.dispatchEvent(new Event('resize')) }, 250);
}

ویرایش:
در صورتی که حل نشد ، راه حل های دیگه هم در اون issue هست ، اون ها رو بررسی کنید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام