دموی نقشه / مستندات / سازگاری Leafletسازگاری Leaflet نقشهٔ تصویری را متصل کنید و محدودیت لایههای زندهٔ قدیمی را بشناسید.
۱ دقیقه مطالعه Vue 3 / Nuxt 4 همراه مثال زنده
مطالب این صفحه استفاده از Leaflet مثال تعاملیLeaflet
پیشنمایش کد Vue
Vue 3 · TypeScript کپی مثال کامل
<script setup lang="ts">
import { ref, shallowRef } from 'vue'
import { NeshanMapLeaflet, type Coordinates, type MapMarker } from 'vue-neshan-maps'
import 'vue-neshan-maps/style.css'
const webKey = import.meta.env.VITE_NESHAN_WEB_KEY
const center = ref<Coordinates>([35.72, 51.36])
const zoom = ref(12.2)
const markers = shallowRef<MapMarker[]>([
{
"id": "azadi",
"position": [
35.6997,
51.338
],
"popup": "میدان آزادی",
"tooltip": "مارکر را جابهجا کنید",
"options": {
"draggable": true
}
},
{
"id": "milad",
"position": [
35.7448,
51.3753
],
"popup": "برج میلاد",
"options": {
"draggable": true
}
}
])
function saveMarker(marker: MapMarker, position: Coordinates) {
markers.value = markers.value.map(item => item.id === marker.id ? { ...item, position } : item)
}
</script>
<template>
<NeshanMapLeaflet
v-model="center" v-model:zoom="zoom"
:api-key="webKey"
:styles="{ height: '420px' }"
:center-marker="false"
:options="{ maptype: 'dreamy' }"
:markers="markers" @marker-dragend="saveMarker"
/>
</template>متغیر VITE_NESHAN_WEB_KEY را در .env.local خارج از Git تنظیم کنید. کد مطابق کنترلهای همین مثال است و کلید واقعی در آن نیست.
استفاده از Leaflet# برای اتصالهای موجود Leaflet از NeshanMapLeaflet استفاده کنید. مدل مختصات و شکلها الگوی یکسانی دارند؛ تنظیمات بومی و سبک GeoJSON به موتور وابستهاند.
vue کپی کد
<script setup lang="ts">
import { ref } from 'vue'
import { NeshanMapLeaflet, type Coordinates, type MapMarker } from 'vue-neshan-maps'
import 'vue-neshan-maps/style.css'
const webKey = import.meta.env.VITE_NESHAN_WEB_KEY
const center = ref<Coordinates>([35.6997, 51.338])
const zoom = ref(13)
const markers: MapMarker[] = [{ id: 'azadi', position: [35.6997, 51.338], popup: 'Azadi Square' }]
</script>
<template>
<NeshanMapLeaflet v-model="center" v-model:zoom="zoom" :api-key="webKey"
:options="{ maptype: 'dreamy' }" :markers="markers" :center-marker="false"
:styles="{ height: '500px' }" />
</template>
SDK قدیمی نشان، ترافیک و مکانها را بهروز نمیکند. این گزینهها با هشدار نادیده گرفته میشوند؛ برای لایهٔ زنده MapLibre را انتخاب کنید. بعضی درخواستهای تکمیلی برچسب تصویری ممکن است پاسخ ۲۰۴ بدون تصویر بدهند. برای تشخیص تحویل جزئی، رویداد کاشی را بخوانید.