لایه POI

نمایش اماکن مهم و کسب و کارها بر روی نقشه

یکی از عواملی که نقش به سزایی در کاربردی‌تر کردن نقشه‌های زیردست در هر پلتفرمی دارد امکان نمایش اماکن مهم و کسب و کارهای مختلف بر روی نقشه می‌باشد. در پلتفرم نقشه نشان با بهره‌گیری از crowd-sourcing و مشارکت جامعه بزرگ کاربران مسیریاب نشان امکان نمایش و استفاده از لایه POI در SDK (وب و موبایل) توسط توسعه‌دهندگان و کسب و کارها فراهم شده است.

از این پس برنامه‌نویسان و کسب و کارهایی که نیاز به نمایش لایه POI در اپلیکیشن وب و یا موبایل خود دارند به راحتی می‌توانند این لایه را بر روی نقشه نمایش دهند. کافیست با توجه به نوع SDK (وب، اندروید و یا iOS ) که برای توسعه اپلیکیشن خود انتخاب کرده‌اید از یکی از راهنماهای زیر کمک بگیرید.

نمایش لایه POI در نقشه وب

یک راه ساده برای نمایش لایه اماکن مهم و کسب و کارهای ثبت‌شده، بر روی نقشه وب اینست که در هنگام ایجاد یک instance از نقشه، پارامتر poi: true را به constructor ارسال کنید. (مطابق مثال زیر) توجه داشته باشید اینکه از چه کتابخانه پایه‌ای برای نقشه استفاده می‌کنید، Openlayers یا Leaflet تفاوتی در نحوه فعال کردن این لایه ندارد.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Neshan Map POI Layer Example (Leaflet)</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link href="https://static.neshan.org/sdk/leaflet/1.4.0/leaflet.css" rel="stylesheet" type="text/css">
<script src="https://static.neshan.org/sdk/leaflet/1.4.0/leaflet.js" type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 600px; height: 450px; background: #eee; border: 2px solid #aaa;"></div>
<script type="text/javascript">
var myMap = new L.Map('map', {
key: 'YOUR_API_KEY',
maptype: 'dreamy',
center: [35.699739, 51.338097],
zoom: 14,
poi: true,
onPoiLayerSwitched: function (state) {
console.log(state);
}
});
</script>
</body>
</html>

نمایش لایه POI در SDK اندروید

برای نمایش لایه اماکن مهم و کسب و کارهای ثبت‌شده در SDK نقشه Android تنها کافیست بعد از ایجاد instance نقشه از طریق متد map.getLayers().insert() یک لایه POI ایجاد و به عنوان یک لایه جدید به لایه‌های نقشه اضافه کنید. بخشی از این کد در ادامه آمده است. شما می‌توانید برای مشاهده نمونه کد و آموزش کامل این قابلیت در پلتفرم نقشه نشان به ویکی پروژه Android Neshan Maps Starter در گیت‌هاب مراجعه کنید:
// Initializing map
private void initMap(){
// add Standard_day map to layer BASE_MAP_INDEX
map.getOptions().setZoomRange(new Range(4.5f, 18f));
mapStyle = NeshanMapStyle.STANDARD_DAY;
map.getLayers().insert(BASE_MAP_INDEX, NeshanServices.createBaseMap(NeshanMapStyle.STANDARD_DAY));
// Setting map focal position to a fixed position and setting camera zoom
map.setFocalPointPosition(new LngLat(51.330743, 35.767234),0 );
map.setZoom(14,0);
// adding POI layer to POI_INDEX
map.getLayers().insert(2, NeshanServices.createPOILayer(mapStyle == NeshanMapStyle.STANDARD_NIGHT));
}

نمایش لایه POI در iOS SDK

برای نمایش لایه اماکن مهم و کسب و کارهای ثبت‌شده در SDK نقشه iOS تنها کافیست بعد از ایجاد instance نقشه از طریق متد map.getLayers().insert() یک لایه POI ایجاد و به عنوان یک لایه جدید به لایه‌های نقشه اضافه کنید. بخشی از این کد در ادامه آمده است. شما می‌توانید برای مشاهده نمونه کد و آموزش کامل این قابلیت در پلتفرم نقشه نشان به ویکی پروژه iOS Neshan Maps Starter در گیت‌هاب مراجعه کنید:
@IBAction func togglePOILayer(_ sender: UISwitch) {
map.getLayers()?.insert(2, layer: NTNeshanServices.createPOILayer(mapStyle == .STANDARD_NIGHT))
}