توسط این افزونه میتوانید از سرویس آدرس یابی در نقشه استفاده کنید. همچنین شما را قادر میسازد موقعیت آدرس جستجو شده را بروی نقشه مشاهده کرده و سپس اطلاعات جغرافیایی مربوط به نقطه که شامل موقعیت جغرافیایی و آدرس است را دریافت نمائید. کاربر می تواند با کلیک بروی مکانی از نقشه موقعیت مدنظر خود را تغییر داده و اطلاعات جغرافیایی مربوط به مکان جدید را نیز دریافت نماید.
نسخه جاری v1.0.0
در بخش زیر نحوه افزودن فایلهای کتابخانه و افزودن افزونه به وب سایت قرار گرفته است. در بخش راهنمای استفاده، طریقه استفاده از رخدادها و دریافت آدرس با همراه نمونه و تشریح خصوصیات شرح داده شده است.
فایلهای JavaScript و CSS را در تگ head فایل HTML اضافه کنید.
<script src="https://cdn.parsimap.ir/third-party/leaflet/v1.7.1/leaflet.js"></script> <link href="https://cdn.parsimap.ir/third-party/leaflet/v1.7.1/leaflet.css" rel="stylesheet" /> <script src="https://cdn.parsimap.ir/third-party/leaflet/plugins/parsimap-tile/v1.0.0/parsimap-tile.js"></script>
کد زیر را در تگ body فایل HTML قرار دهید.
<script src="https://cdn.parsimap.ir/third-party/leaflet/plugins/parsimap-geocoder/v1.0.0/parsimap-geocoder.js"></script>
<link
href="https://cdn.parsimap.ir/third-party/leaflet/plugins/parsimap-geocoder/v1.0.0/parsimap-geocoder.css"
rel="stylesheet"
/>
<div id="map" style="width: 100%; height: 400px"></div>
<script>
const map = new L.Map('map', {
center: [35.7575, 51.41],
zoom: 12,
})
L.parsimapTileLayer('parsimap-streets-v11-raster', {
key: 'PMI_MAP_TOKEN',
service: true,
}).addTo(map)
const control = new ParsimapGeocoder()
map.addControl(control)
</script>
نسخه جاری v1.0.0
در بخش زیر نحوه افزودن فایلهای کتابخانه و افزودن افزونه به وب سایت قرار گرفته است. در بخش راهنمای استفاده، طریقه استفاده از رخدادها و دریافت آدرس با همراه نمونه و تشریح خصوصیات شرح داده شده است.
فایلهای JavaScript و CSS را در تگ head فایل HTML اضافه کنید.
<script src="https://cdn.parsimap.ir/third-party/mapbox-gl-js/v1.13.0/mapbox-gl.js"></script> <link href="https://cdn.parsimap.ir/third-party/mapbox-gl-js/v1.13.0/mapbox-gl.css" rel="stylesheet" />
کد زیر را در تگ body فایل HTML قرار دهید.
<script src="https://cdn.parsimap.ir/third-party/mapbox-gl-js/plugins/parsimap-geocoder/v1.0.0/parsimap-geocoder.js"></script>
<link
href="https://cdn.parsimap.ir/third-party/mapbox-gl-js/plugins/parsimap-geocoder/v1.0.0/parsimap-geocoder.css"
rel="stylesheet"
/>
<div id="map" style="width: 100%; height: 400px"></div>
<script>
mapboxgl.setRTLTextPlugin(
'https://cdn.parsimap.ir/third-party/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js',
null,
)
const map = new mapboxgl.Map({
container: 'map',
style:
'https://api.parsimap.ir/styles/parsimap-streets-v11?key=PMI_MAP_TOKEN&service=true',
center: [51.4, 35.7],
zoom: 8,
})
const control = new ParsimapGeocoder()
map.addControl(control)
</script>
به طور پیش فرض کتابخانه Mapbox GL JS قادر به پشتیبانی از زبانهای RTL برای نمونه فارسی نیست، که برای این منظور از پلاگین mapbox-gl-rtl-text استفاده باید نمود. برای استفاده از استایلهای پارسیمپ لازم است بجای عبارت PMI_MAP_TOKEN توکن معتبری قرار یابد.
در نمونه کدهای زیر منظور از متغییر control یک شیء از کلاس ParsimapGeocoder است که به صورت زیر تعریف شده و به نقشه افزوده میشود. این راهنما در بخش های قبل به همراه نمونه کد، توضیح داده شده است.
const control = new ParsimapGeocoder()
با استفاده از رخداد result میتوانید هنگامی که کاربر بروی یکی از گزینههای موجود در لیست جستجو کلیک کرد، مطلع شوید.
control.on('result', function (event) {
const lngLat = event.lngLat
const inputString = event.inputString
})
| پارارمتر | نوع | توضیحات |
|---|---|---|
lngLat |
object |
موقعیت فعلی مکان انتخاب شده بروی نقشه که حاوی دو خصوصیت lat (طول جغرافیایی) و lng (عرض جغرافیایی) است. |
inputString |
string |
مقدار ورودی کادر جستجو است که هنگام انتخاب توسط کاربر در کادرجستجو قرار میگیرد. |
برای دریافت آدرس یک نقطه که از طریق جستجو یا کلیک بروی نقشه نمایش یافته است میتوانید از متد reverseLocation استفاده کنید. دریافت آدرس، یک متد asynchronous (ناهمگام) است که برای دریافت اطلاعات جغرافیایی و آدرس نقطه میتوانید به یکی از روشهای زیر عمل کنید.
async function reverseLocation() {
const reverse = await control.reverseLocation()
const address = reverse.address
const lngLat = reverse.lngLat
}
control.reverseLocation().then((reverse) => {
const lngLat = reverse.lngLat
const address = reverse.address
})
| پارارمتر | نوع | توضیحات |
|---|---|---|
lngLat |
object |
موقعیت فعلی مکان انتخاب شده بروی نقشه که حاوی دو خصوصیت lat (طول جغرافیایی) و lng (عرض جغرافیایی) است. |
address |
string |
آدرس نقطهای که بروی نقشه قرار دارد را در بر میگیرد. |
در صورتیکه توکن استفاده شده در افزونه معتبر نباشد و یا مدت زمان مجاز استفاده از افزونه به پایان رسیده باشد با اخطار "دسترسی به اجزای نقشه محدود شده است" مواجه خواهید شد. در زیر روش های رفع این خطا بررسی شده است:
توکن PMI_MAP_TOKEN استفاده شده در نقشه معتبر نیست. این توکن به صورت پیشفرض تنها برای راهاندازی نقشه تعریف میشود. در صورتیکه میخواهید از سرویسهای آدرسیابی و آدرسیابی معکوس موجود در افزونه parsimap-geocoder استفاده نمایید، درخواست خود را از طریق بخش توضیحات در فرم درخواست توکن و یا تماس تلفنی با پارسیمپ مطرح نمایید.
مدت زمان مجاز برای استفاده از این افزونه در هر بارگزاری صفحه به صورت پیشفرض ۳۰ دقیقه است. درصورتیکه تمایل دارید این مدت زمان افزایش یابد، درخواست خود را از طریق ارسال ایمیل، تماس تلفنی و یا بخش توضیحات در فرم درخواست توکن با ما درمیان بگذارید.