סקירה כללית של משבצות דו-ממדיות

דוגמה לתוכנית ניהולמשבצות מפה הן פשוט חלוקה של העולם לאינדקס רשת. הוא מאפשר לגשת לנתוני המפה ולהשתמש בהם בצורה יעילה ודינמית בכמה סולמות קרטוגרפיים. באמצעות Map Tiles API תוכלו לגשת למספר מערכי נתונים גיאוגרפיים נושאיים, כולל:

  • קטעי תמונות של מפת דרכים המבוססים על נתונים טופוגרפיים וקטוריים באמצעות סגנון קרטוגרפי.

  • אורתופוטוגרפיה שצולמה באמצעות מצלמות לווייניות ומצלמות אוויריות שמספקות תמונות מלמעלה למטה (נאדיר) של כדור הארץ.

  • מפות קווי מתאר של הצורות.

אריחי מפה דו-ממדיים מופיעים עם הפניה גיאוגרפית והם מיושרים זה לזה. הן נבחרות על סמך ההיקף הגיאוגרפי של חלון התצוגה ורמת הזום. רמות הזום נע בין אפס (כדי להציג את העולם בשלמותו) ל-22 (כדי להציג רחובות ).

עיצובים של מפות

אפשר לקבל משבצות של עיצובי המפה עבור עיצובי המפה הבאים.

עיצוב המפה תיאור
תוכנית עבודה כבישים, מבנים, נקודות עניין וגבולות פוליטיים
לוויין תמונות שצולמו מהחלל
פני השטח מפה קונטורית שמציגה תכונות טבעיות כמו צמחייה

כדי לבקש משבצות מפה מ-Map Tiles API, קודם צריך לבקש אסימון סשן. אסימון הסשן עוקב אחר המצב הנוכחי של המפה ואזור התצוגה. כשמגדירים את אסימון הסשן, צריך להגדיר את הערך של mapType בהתאם לנושא המפה הרצוי. לאחר מכן, צריך לכלול את אסימון הסשן בכל אחת מהבקשות ל-Map Tiles API.

בקשות לקבלת מידע על אזור התצוגה

אזור התצוגה מגדיר את גודל התיבה שמסגרת את הסצנה בעולם. בקשות למידע על אזור התצוגה מחזירות פרטים על המשבצות של המפה שמרכיבות את אזור התצוגה הנוכחי. הסיבה שביקשת מידע על אזור התצוגה היא לוודא להימנע מבקשת תמונות ברמות זום שלא קיימות.

לדוגמה, ברוב הערים יש תמונות ברמת התצוגה 22, אבל לא באוקיינוס, כי התוצאה תהיה רק ריבועים כחולים ללא תכונות.

בקשת חלון התצוגה היא בקשת GET של HTTPS בפורמט הבא.

curl "https://tile.googleapis.com/tile/v1/viewport?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&zoom=zoom&north=north&south=south&east=east&west=west"

הבקשה כוללת את השדות הבאים:

zoom
מרחק התצוגה של אזור התצוגה.
north, south, east, west
הנקודות המרוחקות ביותר של צפון, דרום, מזרח ומערב באזור התצוגה, באים מעלות. הצפון והדרום חייבים להיות בטווח (90,90-), והמזרח והמערב צריכים להיות בטווח טווח (-180, 180). כדי לבטא גבולות שחוצים את קו האורך 180, מערב יכול להיות חיובי (לדוגמה, 170) ומזרח יכולים להיות שליליים (לדוגמה, 170-). הכול נדרשים פרמטרים.

תשובות למידע על נקודת המבט

התגובה של אזור התצוגה מציינת באילו אזורים יש תמונות ובאיזה זום הרמות. תגובת מידע על אזור התצוגה תופיע בפורמט הבא.

{
  "copyright": "Map data ©2023",
  "maxZoomRects": [
    {
      "maxZoom": 19,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 9,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 14,
      "north": 84.375,
      "south": -84.375,
      "east": 180,
      "west": -180
    }, ...
  ]
}

גוף התשובה מכיל את השדות הבאים.

copyright
מכיל מחרוזת ייחוס שחובה להציג במפה כאשר להציג מפת דרכים ומשבצות לוויין. מידע נוסף זמין במאמר המדיניות בנושא API של משבצות המפה.
maxZoomRect
מכיל מערך של מלבנים מגבילים שמצטופפים עם אזור התצוגה הנוכחי. מכילה גם את רמת הזום המקסימלית הזמינה בתוך כל מלבן.

פונקציות קואורדינטות של משבצות

ברוב שפות התכנות יש כלים (פונקציות פשוטות) להמרה מזוגות של קווי רוחב/אורך ועד לקואורדינטות של משבצות ברמת זום ספציפית. דוגמה לקוד JavaScript שממיר קודם מ-latLng לנקודה, ואז מנקודה לקואורדינטות של משבצת:

var TILE_SIZE = 256;

function fromLatLngToPoint(latLng) {
  var mercator = -Math.log(Math.tan((0.25 + latLng.lat() / 360) * Math.PI));
  return {
    x: TILE_SIZE * (latLng.lng() / 360 + 0.5),
    y: TILE_SIZE / 2 * (1 +  mercator / Math.PI)
  };
}

function fromLatLngToTileCoord(latLng, zoom) {
  var point = fromLatLngToPoint(latLng);
  var scale = Math.pow(2, zoom);

  return {
    x: Math.floor(point.x * scale / TILE_SIZE),
    y: Math.floor(point.y * scale / TILE_SIZE),
    z: zoom
  };
}