نسخه جاری v6.5.0
کتابخانه Open Layers مبتنی بر JavaScript بوده و open-source
است. این کتابخانه برای ارائه نقشههای تعاملی با تمامی
اجزاء جهت توسعه، در صفحات وب استفاده میشود.
برای شروع نیاز به داشتن توکن پارسیمپ و بکارگیری سرویس استایل نقشه است. در ادامه دو روش بکارگیری نقشه بر اساس افزوده شدن اسکریپت و یا ماژول شرح داده میشود.
فایلهای JavaScript و CSS زیر را در تگ head
فایل HTML اضافه کنید.
<script src="https://cdn.parsimap.ir/third-party/ol/v6.5.0/ol.js"></script> <link href="https://cdn.parsimap.ir/third-party/ol/v6.5.0/ol.css" rel="stylesheet" />
کد زیر را در تگ body
فایل HTML قرار دهید.
<div id="map" style="width: 400px; height: 300px"></div> <script> function loadStyle(style, key, callback) { fetch("https://api.parsimap.ir/styles/" + style + "?key=" + key) .then((response) => response.json()) .then((json) => { const composite = json.sources.composite; callback(false, { url: composite.tiles[0], attributions: composite.attribution, }); }) .catch(callback(true, null)); } loadStyle("parsimap-streets-v11-raster", "PMI_MAP_TOKEN", (error, source) => { if (!error) { const map = new ol.Map({ target: "map", layers: [ new ol.layer.Tile({ source: new ol.source.XYZ(source), }), ], view: new ol.View({ center: ol.proj.fromLonLat([51.41, 35.7575]), zoom: 8, }), }); } } ); </script>
برای استفاده از استایلهای پارسیمپ لازم است بجای عبارت PMI_MAP_TOKEN
توکن
معتبری قرار یابد.
دستورالعملهای زیر فرض بر این میگیرند که پروژه بر اساس یکی از تکنولوژیهای یکپارچهسازی ماژولهای JavaScript، پیکربندی شده باشد.
npm install ol --save
جهت ایجاد نقشه میتوانید از طریق فراخوانی تابع loadStyle
این کار را انجام دهید. این تابع شامل چند پارامتر است که در برگیرنده نام یکی از استایلهای پارسیمپ، توکن معتبر و همچنین کد ایجاد نقشه است که این کد باید به صورت callback قرار یابد.
در کدایجاد نقشه خصوصیت target
در سازنده کلاس Map را برابر id
المنتی که درون صفحه HTML مدنظر است، قرار دهید.
import "ol/ol.css"; import Map from "ol/Map"; import TileLayer from "ol/layer/Tile"; import View from "ol/View"; import XYZ from "ol/source/XYZ"; import * as proj from "ol/proj"; function loadStyle(style, key, callback) { fetch("https://api.parsimap.ir/styles/" + style + "?key=" + key) .then((response) => response.json()) .then((json) => { const composite = json.sources.composite; callback(false, { url: composite.tiles[0], attributions: composite.attribution, }); }) .catch(callback(true, null)); } loadStyle("parsimap-streets-v11-raster", "PMI_MAP_TOKEN", (error, source) => { if (!error) { const map = new Map({ target: "map", layers: [ new TileLayer({ source: new XYZ(source), }), ], view: new View({ center: proj.fromLonLat([51.41, 35.7575]), zoom: 9, }), }); } });
برای استفاده از استایلهای پارسیمپ لازم است بجای عبارت PMI_MAP_TOKEN
توکن
معتبری قرار یابد.