اتصال نقشه map.ir

← بازگشت به راهنما

اتصال نقشه map.ir



| فیلد | مقدار |
|------|--------|
| **نسخه** | 1.1 |
| **آخرین بروزرسانی** | 2026-09-20 |
| **مخاطب** | ادمین |

---

هدف



نمایش نقشه و انتخاب موقعیت در **Custom Field** محصول با سرویس‌های [map.ir](https://map.ir).

---

تنظیم اتصال



  • از پنل شرکت: **تنظیمات → تنظیمات اصلی → تب اتصال نقشه** (`/panel/main-settings/tenant-map-settings`)

  • API Key را از پنل map.ir بگیرید و وارد کنید

  • مرکز پیش‌فرض نقشه (مثلاً تهران) را تنظیم کنید


  • یا در `.env`:

    ```env
    MAPIR_API_KEY=your-key
    MAPIR_DEFAULT_LAT=35.6892
    MAPIR_DEFAULT_LNG=51.3890
    MAPIR_DEFAULT_ZOOM=12
    ```

    اولویت: تنظیمات Tenant، سپس `.env`.

    ---

    APIهای پیاده‌سازی‌شده



    | سرویس | مسیر BSS | سرویس map.ir |
    |--------|----------|--------------|
    | تنظیمات کلاینت | `GET /mapir/config` | — |
    | آدرس‌یابی | `GET /mapir/reverse?lat=&lng=` | `/reverse` |
    | جستجو | `GET /mapir/search?q=` | `/search/v2` |
    | پروکسی تایل/استایل | `GET /mapir/proxy?url=` | هر URL روی `map.ir` |
    | تایل رستر (اختیاری) | `GET /mapir/tiles/{z}/{x}/{y}` | طبق `tile_url` |

    کلید API فقط سمت سرور استفاده می‌شود. مرورگر تایل‌ها را مستقیم از map.ir نمی‌گیرد — چون map.ir با `Referer` خارج از دامنه‌های مجاز کلید، **401** می‌دهد. لایه وکتوری از طریق `/mapir/proxy` لود می‌شود.

    ---

    فیلد سفارشی نوع «نقشه»



  • محصول → تب **فیلدهای سفارش**

  • نوع: **نقشه (map.ir)**

  • موقع سفارش، مشتری/نماینده/ادمین نقطه را روی نقشه انتخاب می‌کند


  • مقدار ذخیره‌شده:

    ```json
    {"lat":35.6892,"lng":51.3890,"address":"تهران، ..."}
    ```

    در جزئیات سفارش معمولاً **آدرس — (lat, lng)** نمایش داده می‌شود.

    برای پوشش وایرلس (افزونه با اتصال انبار POP): پس از انتخاب نقطه، پوشش همان لحظه چک می‌شود — [wireless-inventory.md](wireless-inventory.md).

    ---

    قابلیت‌های UI نقشه



  • کلیک روی نقشه / کشیدن مارکر

  • جستجوی آدرس

  • دکمه «موقعیت من» (GPS مرورگر)

  • آدرس‌یابی خودکار بعد از انتخاب نقطه