🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ محبوبه کاکاوند
دریافت و نمایش همه لوکیشن‌های وریفای شده روی نقشه
جامعه پی اچ پی ایجاد شده در ۰۹ دی ۱۴۰۱

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

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

خیلی داکیومنت 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; ?>

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

محبوبه کاکاوند ۰۹ دی ۱۴۰۱، ۱۲:۳۱

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

بهترین پاسخ
زرّین سپه‌وند ۰۹ دی ۱۴۰۱، ۱۲:۴۸