روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۱۱ کیان سلگی
عدم نمايش نقشه در صورت دريافت اطلاعات مكان از پايگاه داده
جامعه پی اچ پی ایجاد شده در ۲۶ آذر ۱۴۰۰

عرض سلام و احترام خدمت استاد آوند عزيز و همه دوستان

با استفاده از متد get يك اي دي ارسال ميكنم به سرور كه اطلاعات مكان را دريافت كنم و اون اطلاعات رو داخل نقشه نمايش بدم . زماني كه دستور add marker رو اجرا ميكنم مكان موردنظر پين ميشه اما تايل نقشه نمايش داده نميشه . کنسول مرورگر هم بررسی کردم هیچ اروری نداشته و اینکه اطلاعات برگشتی از دیتابیس هم چاپ کردم موردی نداشته

ممنون ميشم راهنمايي كنيد.

// js code
  document.getElementById('map').style.setProperty('height', +innerHeight + 'px');
    const DefaultLocation = [35.6950509, 51.3816031];
    var map = new L.Map('map', {
        key: 'my key in neshan',
        maptype: 'standard-night',
        poi: true,
        traffic: false,
        center: DefaultLocation,
        zoom: 14
    });
    
    if (!is_null($ShowLoc)) :
    ?>
       
        var marker = L.marker([ $ShowLoc[0]->X ?>,  $ShowLoc[0]->Y ?>]).addTo(map);
        marker.bindPopup('Title ?>').openPopup();
     endif; ?>

سلام.

اگر براتون مقدوره فایلهای پروژه رو ضمیمه کنید تا بررسی کنم.

محسن موحد ۲۸ آذر ۱۴۰۰، ۲۱:۲۸

فایل‌های پروژه ارسال شد

کیان سلگی ۲۹ آذر ۱۴۰۰، ۱۲:۵۳

سلام.

پروژتون الان بررسی شد و هیچ ایرادی ندیدم و اجرا شد.

محسن موحد ۰۱ دی ۱۴۰۰، ۲۰:۱۰

سلام وقت بخیر

برای من موقعی که یک لوکیشن رو میزنم نقشه اجرا نمیشه

احتمال داره مشکل از سیستم یا لوکال هاست یا هرچی که به سیستم من مربوط هست باشه؟ چون برای شما بدون مشکل اجرا شد

ممنون

کیان سلگی ۰۲ دی ۱۴۰۰، ۱۱:۵۷

سلام.

دکمه ctrl+f5 رو بزنید تا کش آپدیت بشه.

با یک مرورگر دیگه هم تست کنید. داده هایی که به متغیر show میدید رو چک کنید که وجوداشته باشه.

محسن موحد ۰۲ دی ۱۴۰۰، ۱۴:۱۶

سلام مجدد

با مرورگر دیگه تست کردم نشد

کش هم خالی کردم

داده‌های متغیر هم تست کردم وجود داشت ولی نشد .

از اینکه وقت گذاشتید صمیمانه سپاسگزارم

کیان سلگی ۰۲ دی ۱۴۰۰، ۱۵:۳۲

بعد ازینکه map رو تعریف کردی این دو خط رو اضافه کن ببین خروجی چی میده:

marker = L.marker([35.7221, 51.3318]).addTo(map);
marker.bindPopup('سون لرن').openPopup();

کدهای اضافه مثل if شرط داخل تگ php و ... رو کامنت کن.

ctrl + u هم بزنید برید داخل page source تمام لینکهای css و js رو کلیک کنید ببینید رو سیستمتون باز میشه یا نه.

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

محسن موحد ۰۲ دی ۱۴۰۰، ۱۵:۵۸

سلام وقت بخیر

تمام لینک‌ها هم برسی کردم درست بود

فقط زمانی که با متد get پارامتر ارسال میکنم که نقشه رو ببره به مکان خاص همچین مشکلی هست و کنسول رو که بررسی کردم دیدم زمانی که نقشه رو زوم میکنم یکسری خطا میده که عکس خطا رو پیوست کردم.

شما که میفرمایید برای شما مشکلی نداره و اجرا میشه لطفا پارامتر ShowLoc=13 رو ارسال کنید ببینید نقشه به مکان مورد نظر میره یا خیر.

فایل دیتابیس هم براتون میفرستم که برنامه رو با اون تست کنید

خیلی ممنون

کیان سلگی ۰۶ دی ۱۴۰۰، ۲۰:۵۳

متاسفانه فایل دیتابیس رو نشد اپلود کنم فایل pdf دیتابیس رو اپلود کردم

کیان سلگی ۰۶ دی ۱۴۰۰، ۲۱:۱۰

سلام.

متد setView پارامتر اولش طبق مستنداتش latlng میگیره که به این شکل بدست میاد:

var latlng = L.latLng( $ShowLoc[0]->lat ?>,  $ShowLoc[0]->lng ?>);

و متد setView به این شکل در میاد:

map.setView(latlng, 15);

این دو مورد درست بشه، مپ لود میشه.

  • یه نکته اینکه، ادیتور سایت تگ باز مساوی PHP رو داخل سینتکس من حذف کرده، خودت تکمیلش کن.
بهترین پاسخ
محسن موحد ۰۶ دی ۱۴۰۰، ۲۳:۲۳

سلام

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

ممنونم از اینکه در این مدت وقت گذاشتید و بررسی کردید.

کیان سلگی ۱۰ دی ۱۴۰۰، ۱۳:۵۴