شنبه یه خبراییه 🔥 منتظر شنبه باش 😉🥳
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ آرمین صادقیان
دریافت و نمایش همه لوکیشن‌های وریفای شده روی نقشه
جامعه پی اچ پی ایجاد شده در ۰۹ دی ۱۴۰۱

سلام. وقت بخیر

برای دریافت و نمایش همه لوکیشن‌ها روی نقشه چه کاری باید انجام بدیم؟

خیلی داکیومنت Leaflet و سورس کد پروژه رو خوندم ولی متاسفانه هیچ راه حلی برای حل این چالش به ذهنم نرسید.

ممنون میشم اگه یه راهنمایی برای حل این تمرین کنید.

سلام آرمین عزیز

متوجه منظورت نمیشم

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

https://github.com/mapbox/leaflet-knn

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

احمدرضا فاطمی کیا ۰۹ دی ۱۴۰۱، ۰۸:۵۷

سلام مجدد

بله میخوام لوکیشن هایی که ادمین اونا رو توی پنل تایید کرده توی نقشه نمایش داده بشن. برای همین یه متد نوشتم که فقط لوکیشن‌های تایید شده رو میگیره:

function getVerifiedLocations(): bool|array
{
    global $pdo;
    $sql = "SELECT * FROM locations WHERE is_verified = :is_verified";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([
        ':is_verified' => 1
    ]);
    return $stmt->fetchAll(PDO::FETCH_OBJ);
}

و توی فایل index.php این متد رو call میکنم:

$verifiedLocations = getVerifiedLocations();

و در فایل tpl-index هم داخل تگ script به این صورت حلقه زدم:

 foreach ($verifiedLocations as $location): ?>
    L.marker([ $location->lat ?>,  $location->lng ?>]).addTo(MAP).bindPopup(" $location->title ?>").openPopup();
 endforeach; ?>

این روش خوبه یا روش بهتری هم وجود داره؟

آرمین صادقیان ۰۹ دی ۱۴۰۱، ۱۲:۳۱

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

بهترین پاسخ
احمدرضا فاطمی کیا ۰۹ دی ۱۴۰۱، ۱۲:۴۸