انتقل إلى المحتوى
DevOrbit
درس تعليميEngineering· 2 دقائق قراءة

البحث العقاري على الخريطة دون كشف الموقع الدقيق: كيف بنيناه في Devorbit Aqar

البحث بالخريطة ميزة أساسية في أي منصة عقارية، لكنه قد يكشف موقع عقار أخفى صاحبه موقعه. هكذا صممنا البحث المكاني في Aqar باستخدام PostGIS وموقع عام منفصل.

بقلم Owner · نُشر

البحث العقاري على الخريطة دون كشف الموقع الدقيق: كيف بنيناه في Devorbit Aqar

يريد الباحث عن عقار أن يرى النتائج على الخريطة، وأن يرسم منطقة بعينها أو يبحث بالقرب منه. ويريد بعض الملاك في المقابل إخفاء الموقع الدقيق لعقارهم. الجمع بين الأمرين أصعب مما يبدو.

المشكلة: الاستعلامات المكانية تسرّب الموقع

لو نفّذ البحث بالمنطقة أو بنصف القطر على الإحداثيات الدقيقة، يستطيع أي شخص أن يرسم مضلعات صغيرة متتالية ويضيّق النطاق حتى يحدد مكان العقار، حتى لو لم تُعرض الإحداثيات على الخريطة أبداً.

الحل: موقع عام منفصل

يخزّن كل عقار في Devorbit Aqar موقعين:

  • الموقع الدقيق: لا يراه إلا صاحب الإعلان والمراجعون.
  • الموقع العام: يساوي الموقع الدقيق إن سمح المالك بعرضه، وإلا يكون مركز الحي أو نقطة مقرّبة لنحو كيلومتر.

كل الاستعلامات العامة تعمل على الموقع العام فقط: البحث بالنطاق والمضلع ونصف القطر، وعلامات الخريطة، والبيانات المنظمة لمحركات البحث، ومطابقة البحوث المحفوظة. والفهرس المكاني (GiST) مبني عليه، فالحماية لا تكلّف أداءً.

تفاصيل تجعل الخريطة سريعة

  • الخادم يعيد علامات خفيفة فقط (المعرف والإحداثيات والسعر والغرض والنوع) بحد أقصى 1,500 علامة، ويطلب من المستخدم التقريب إن زادت.
  • التجميع (Clustering) يتم في المتصفح، ونقر المجموعة يقرّب الخريطة.
  • كل تحريك للخريطة يلغي الطلب السابق قبل إرسال الجديد.
  • البحث بنصف القطر يمر أولاً على مستطيل يستفيد من الفهرس، ثم يُحسب البعد الدقيق.
  • المضلعات المتقاطعة ذاتياً أو الكبيرة جداً يرفضها الخادم.

ألوان تعني شيئاً

لكل غرض (بيع، إيجار سنوي، شهري، يومي، تجاري، استثمار، مشروع جديد) لون واحد ثابت بتباين مقروء، يتكرر في علامة السعر على الخريطة وبطاقة الإعلان والفلاتر ومفتاح الخريطة، ويرافقه دائماً نص وليس اللون وحده.

جرّب البحث على الخريطة ورسم منطقة في النسخة التجريبية.

  • Devorbit Aqar — منصة إعلانات عقارية متكاملة
    مدفوعنشطv1.0.1

    Devorbit Aqar

    منصة إعلانات عقارية متكاملة بالعربية والإنجليزية: بيع وإيجار وتجاري، بحث بالخريطة (PostGIS)، مراجعة الإعلانات وتوثيق المعلنين، لوحة معلن ولوحة إدارة، ورسوم وباقات، مع PWA وإشعارات.

    • .NET
    • C#
    • Next.js
    • TypeScript
    • PostgreSQL