از نشانه‌های جلسه با Map Tiles API استفاده کنید

نشانه جلسه قطعه ای از داده (یک UUID ) است که در تماس های REST برای شناسایی یک جلسه - مجموعه ای از مبادلات پیام مرتبط استفاده می شود. باید در تمام درخواست‌های مربوط به کاشی‌های دوبعدی و تصاویر نمای خیابان، یک نشانه جلسه اضافه کنید. شما آن را به عنوان مقدار پارامتر session اضافه شده به همه URL های درخواستی اضافه می کنید.

در Map Tiles API، یک نشانه جلسه، مجموعه تعریف شده ای از گزینه های نمایش را نشان می دهد. این بدان معنی است که شما مجبور نیستید مجموعه ای از گزینه های نمایش را با هر درخواست کاشی ارسال کنید. شما می توانید از یک نشانه جلسه در چندین مشتری استفاده کنید. یک نشانه جلسه در حال حاضر به مدت دو هفته از زمان صدور آن معتبر است، اما ممکن است تغییر کند. همیشه می‌توانید با نگاه کردن به قسمت expiry در پیام پاسخ، زمان انقضای یک نشانه جلسه را بررسی کنید.

درخواست نشانه جلسه

برای درخواست یک نشانه جلسه، همانطور که در مثال زیر نشان داده شده است، یک درخواست HTTPS POST به نقطه پایانی createSession ارسال کنید. شما باید درخواست را با یک هدر Content-Type: application/json ارسال کنید.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

فیلدهای مورد نیاز

mapType

نوع نقشه پایه این مقدار می تواند یکی از موارد زیر باشد:

roadmap
نقشه‌های استاندارد Google Maps، کاشی‌های نقشه را نقاشی کرده‌اند.
satellite
تصویربرداری ماهواره ای.
terrain
تصاویر زمین. هنگام انتخاب terrain به‌عنوان نوع نقشه، باید نوع لایه layerRoadmap (که در قسمت فیلدهای اختیاری توضیح داده شده است) را نیز وارد کنید.
streetview
پانورامای نمای خیابان. برای اطلاعات بیشتر، به کاشی‌های نمای خیابان مراجعه کنید.
language

یک برچسب زبان IETF که زبان مورد استفاده برای نمایش اطلاعات روی کاشی ها را مشخص می کند. به عنوان مثال، en-US زبان انگلیسی را که در ایالات متحده صحبت می شود مشخص می کند.

region

یک شناسه منطقه مخزن داده محلی مشترک (دو حرف بزرگ) که نشان دهنده مکان فیزیکی کاربر است. به عنوان مثال، US .

فیلدهای اختیاری

imageFormat
فرمت فایل را برای بازگشت مشخص می کند. مقادیر معتبر یا jpeg یا png هستند. فایل‌های JPEG از شفافیت پشتیبانی نمی‌کنند، بنابراین برای کاشی‌های همپوشانی توصیه نمی‌شوند. اگر یک imageFormat را مشخص نکنید، بهترین قالب برای کاشی به طور خودکار انتخاب می شود.
scale

اندازه عناصر نقشه (مانند برچسب های جاده) را افزایش می دهد، در حالی که اندازه کاشی و ناحیه پوشش کاشی پیش فرض را حفظ می کند. افزایش مقیاس همچنین تعداد برچسب های روی نقشه را کاهش می دهد که باعث کاهش شلوغی می شود. مقادیر زیر مقادیر scale معتبر هستند:

  • scaleFactor1x : پیش فرض.
  • scaleFactor2x : اندازه برچسب را دو برابر می کند و برچسب های جزئی ویژگی را حذف می کند.
  • scaleFactor4x : اندازه برچسب را چهار برابر می کند و برچسب های جزئی ویژگی را حذف می کند.

مثال های زیر تأثیر مقیاس بندی عناصر نقشه را نشان می دهد.

ضریب مقیاس 1x ضریب مقیاس 2x
نقشه ضریب مقیاس 1x را نشان می دهدنقشه نشان دهنده ضریب مقیاس 2x
highDpi
مشخص می کند که آیا کاشی های با وضوح بالا بازگردانده شوند یا خیر. اگر ضریب مقیاس افزایش یابد، highDpi برای افزایش اندازه کاشی استفاده می شود. به طور معمول، افزایش ضریب مقیاس، کاشی به دست آمده را به تصویری با همان اندازه بزرگ می کند که کیفیت را کاهش می دهد. با highDpi ، اندازه حاصل نیز افزایش می یابد و کیفیت حفظ می شود. DPI مخفف Dots per Inch است و High DPI به این معنی است که کاشی با استفاده از نقاط بیشتری در هر اینچ نسبت به حالت عادی رندر می شود. اگر true ، تعداد پیکسل ها در هر یک از ابعاد x و y در ضریب مقیاس (یعنی 2x یا 4x) ضرب می شود. منطقه پوشش کاشی بدون تغییر باقی می ماند. این پارامتر فقط با مقادیر scale 2x یا 4x کار می کند. روی کاشی های مقیاس 1x تاثیری ندارد.
ضریب مقیاس 1x ضریب مقیاس 2x DPI بالا
نقشه با وضوح منظم نمایش داده می شودنقشه با وضوح 2 برابر DPI بالا نمایش داده می شود
layerTypes

آرایه ای از مقادیر که انواع لایه های اضافه شده به نقشه را مشخص می کند. مقادیر معتبر عبارتند از:

layerRoadmap
اگر terrain به عنوان نوع نقشه مشخص کنید، الزامی است. همچنین می توان به صورت اختیاری روی نوع نقشه satellite همپوشانی کرد. هیچ تاثیری روی کاشی های نقشه راه ندارد.
layerStreetview
خیابان‌ها و مکان‌های دارای نمای خیابان را با استفاده از خطوط آبی روی نقشه نشان می‌دهد.
layerTraffic
وضعیت ترافیک فعلی را نمایش می دهد.
styles

آرایه ای از اشیاء سبک JSON که ظاهر و سطح جزئیات ویژگی های نقشه مانند جاده ها، پارک ها و مناطق ساخته شده را مشخص می کند. استایلینگ برای سفارشی کردن نقشه پایه استاندارد گوگل استفاده می شود. پارامتر styles فقط در صورتی معتبر است که نوع نقشه roadmap باشد. برای نحو کامل سبک، به مرجع سبک مراجعه کنید.

overlay

یک مقدار بولی که مشخص می‌کند layerTypes باید به‌عنوان یک پوشش جداگانه ارائه شوند یا با تصاویر پایه ترکیب شوند. وقتی true ، نقشه پایه نمایش داده نمی شود. اگر هیچ layerTypes تعریف نکرده اید، این مقدار نادیده گرفته می شود.

به عنوان مثال، درخواست یک نوع نقشه satellite با لایه‌ای layerRoadmap ، و overlay روی false ، منجر به کاشی‌هایی معادل نوع نقشه hybrid مورد استفاده در Maps JavaScript API (تصویر سمت چپ) می‌شود. همان نقشه ها و انواع لایه ها با overlay که روی true تنظیم شده اند، منجر به ایجاد یک کاشی شفاف با پوشش نقشه می شود که به طور مناسب برای پوشش تصاویر ماهواره ای (تصویر سمت راست) طراحی شده است.

overlay : نادرست overlay : درست
همپوشانی روی نادرست تنظیم شدهمپوشانی روی true تنظیم شد

JSON زیر نمونه‌ای از بدنه درخواست معمولی است که شامل فیلدهای الزامی و اختیاری است.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

این مثال پوششی را ارائه می دهد که برای ترکیب با تصاویر ماهواره ای مناسب است. مثال شامل نقشه راه و نمای خیابان است. نقشه به دست آمده با نام ها و داده ها به زبان انگلیسی، همانطور که در ایالات متحده صحبت می شود، ارائه می شود.

apiOptions : آرایه ای از مقادیر که گزینه های اضافی را برای اعمال مشخص می کند. گزینه های پشتیبانی شده عبارتند از:

  • MCYJ5E517XR2JC - سبک نقشه جدید را انتخاب کنید. در طول دوره انتخاب، درخواست‌های شما به سبک موجود می‌رسند مگر اینکه این مقدار مشخص شده باشد.

پاسخ نشانه جلسه

JSON زیر نمونه ای از بدنه پاسخ است.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

لیست زیر شامل تعاریف فیلدهای بدنه پاسخ است.

session
یک مقدار توکن جلسه که باید در تمام درخواست‌های Map Tiles API خود بگنجانید.
expiry
رشته ای که شامل زمان (بر حسب ثانیه از دوره) است که در آن توکن منقضی می شود. یک نشانه جلسه به مدت دو هفته از زمان ایجاد آن معتبر است، اما این خط مشی ممکن است بدون اطلاع قبلی تغییر کند.
tileWidth
عرض کاشی ها بر حسب پیکسل اندازه گیری می شود.
tileHeight
ارتفاع کاشی ها بر حسب پیکسل اندازه گیری می شود.
imageFormat
فرمت تصویر، که می تواند png یا jpeg باشد.