پرش به مطلب اصلی
نسخه: 1.1.0

جستجوی موقعیت مکانی (شهر یا استان) چگونه کار می‌کند؟

مقدمه

جهت اطلاع، این اسکریپت از پایگاه داده Geonames (که ساختاریافته‌ترین پایگاه داده آن‌هاست) برای اطلاعات مربوط به شهرها و تقسیمات اداری استفاده می‌کند. اما این پایگاه داده برای هیچ کشوری کامل نیست. شما می‌توانید این پایگاه داده را به صورت دستی (از مسیر پنل مدیریت ← تنظیمات ← بین‌المللی ← کشورها ← ... «تقسیمات اداری ۱» یا «شهرها») با افزودن داده‌های جدید، اصلاح داده‌های موجود یا حذف آن‌ها به‌روزرسانی کنید.


جستجوی یک مکان با پایگاه داده پیش‌فرض چگونه کار می‌کند؟

هنگام جستجوی یک تقسیم اداری

زمانی که کاربر یک تقسیم اداری (که بسته به کشور می‌تواند ایالت، منطقه، استان، دپارتمان یا ناحیه باشد) را جستجو می‌کند یا از روی نقشه SVG روی آن کلیک می‌کند:

  • اسکریپت، آگهی‌ها (یا مشاغل) مربوط به تمام شهرهای آن تقسیم اداری را نمایش می‌دهد (بدون در نظر گرفتن قابلیت فاصله).
  • اگر این تقسیم اداری در پایگاه داده وجود نداشته باشد، اسکریپت آگهی‌ها (یا مشاغل) مربوط به بزرگ‌ترین (پُرجمعیت‌ترین) شهر آن کشور را نمایش می‌دهد (اگر قابلیت فاصله فعال باشد، در شعاع X کیلومتری).
  • اگر هیچ شهری به آن تقسیم اداری تعلق نداشته باشد، هیچ نتیجه‌ای یافت نخواهد شد.
  • اگر هیچ نوعی برای تقسیمات اداری کشور انتخاب نشده باشد (در مسیر پنل مدیریت ← تنظیمات ← بین‌المللی ← کشورها ← [ویرایش] ← نوع تقسیمات اداری)، پُرجمعیت‌ترین (بزرگ‌ترین) شهر به طور خودکار انتخاب خواهد شد.

نکات:

  • برای برخی کشورها، داده‌های نقشه SVG با موارد موجود در «تقسیمات اداری ۱» مطابقت دارد و برای برخی دیگر، با موارد «تقسیمات اداری ۲». بنابراین، شما باید حداقل یکی از انواع تقسیمات اداری (۱ یا ۲) را متناسب با کشور خود و نقشه SVG آن انتخاب کنید.
  • مهم است بدانید که این اسکریپت از نقشه‌های simplemaps (به آدرس http://simplemaps.com/resources/svg-maps) و پایگاه داده Geonames (به آدرس http://www.geonames.org) استفاده می‌کند (که دو پایگاه داده متفاوت هستند).

حل مشکل عدم تطابق دقت بین پایگاه داده و نقشه‌های SVG

برای حل برخی مشکلات مربوط به دقت (یعنی داشتن یک پایگاه داده دقیق)، شما باید پایگاه داده شهرها و تقسیمات اداری کشور خود را به‌روزرسانی کنید. این کار از مسیر پنل مدیریت ← تنظیمات ← بین‌المللی ← کشورها قابل انجام است. در این بخش کشور خود را انتخاب کرده و داده‌های شهرها و تقسیمات اداری آن را متناسب با نام‌های تقسیمات اداری روی نقشه SVG، ویرایش/حذف کنید ( همچنین می‌توانید داده‌های ناقص را اضافه نمایید).

همچنین شما باید فایل‌های نقشه SVG (در مسیر: /public/images/maps/) را ویرایش کنید تا نام تقسیمات اداری (ایالت‌ها، مناطق، استان‌ها، نواحی و ...) که منسوخ شده‌اند را تغییر دهید.

اگر می‌خواهید به جای داده‌های Geonames از داده‌های وارد شده توسط خودتان استفاده کنید، می‌توانید قبل از افزودن داده‌های جدید از طریق پنل مدیریت، تمام تقسیمات اداری و شهرهای آن کشور را حذف کنید.

همچنین اگر نقشه SVG simplemaps به اندازه کافی برای شما دقیق نیست، می‌توانید آن را غیرفعال کنید (از مسیر پنل مدیریت ← تنظیمات ← صفحه اصلی ← موقعیت‌ها و نقشه کشور).

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

شما می‌توانید رفتار اسکریپت را هنگام جستجوی شهرهای ناموجود توسط کاربران، از مسیر زیر پیکربندی کنید: پنل مدیریت ← تنظیمات ← عمومی ← لیست و جستجو (List & Search) ← نتایج مکان‌های ناموجود (Fake locations results)

گزینه‌های موجود به شرح زیر است:

  • صفحه 'مکان یافت نشد' (Location not found page): با این گزینه، زمانی که کاربران یک شهر ناموجود را جستجو می‌کنند، اسکریپت یک صفحه خطای HTTP 404 نمایش خواهد داد.
  • نمایش نتایج با محبوب‌ترین شهر کشور (Show results with the country's most popular city): اگر شهر درخواست شده در پایگاه داده وجود نداشته باشد، نتایج مربوط به محبوب‌ترین (یا پرجمعیت‌ترین) شهر آن کشور نمایش داده خواهد شد.
  • اعمال نکردن فیلتر مکان (Don't apply the location's filter): اگر شهر درخواست شده وجود نداشته باشد، فیلتر شهر/مکان بر روی جستجو اعمال نخواهد شد.

در فرم‌های ایجاد/ویرایش آگهی

گاهی اوقات شما نیاز دارید که تقسیمات اداری (ایالت‌ها، مناطق، استان‌ها، نواحی و غیره) را برای کشور خود فعال کنید؛ مانند حالتی که شهرهای خاصی در تقسیمات اداری مختلف، نام یکسانی دارند. در این صورت، کاربر می‌تواند ابتدا تقسیم اداری شهر (ایالت، منطقه، استان و ...) را انتخاب کرده و سپس شهر مورد نظر از آن تقسیم اداری را برگزیند.

برای فعال کردن تقسیمات اداری برای یک کشور، شما باید مراحل زیر را انجام دهید:

  • به مسیر «پنل مدیریت ← تنظیمات ← بین‌المللی (International) ← کشورها (Countries) ← [ویرایش]» بروید.
  • از فرم ویرایش کشور، می‌توانید نوع تقسیمات اداری (۱ یا ۲) را متناسب با کشور خود انتخاب کنید. به طور پیش‌فرض، اسکریپت از پایگاه داده Geonames برای پر کردن تقسیمات اداری استفاده می‌کند، و شما می‌توانید از مسیر «پنل مدیریت ← تنظیمات ← بین‌المللی ← کشورها ← تقسیمات اداری ۱» موارد جدیدی اضافه کنید، موارد موجود را ویرایش یا حذف نمایید.
  • همچنان در همان فرم ویرایش کشور، باید تیک گزینه «فیلد تقسیمات اداری فعال باشد» (Active Administrative Division's Field) را بزنید.

کار تمام است. اکنون می‌توانید صفحه ایجاد آگهی خود را مشاهده کنید!