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

מפתחים באזור הכלכלי האירופי (EEA)

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

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

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

  • מפות קווי גובה עם הצללה.

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

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

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

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

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

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

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

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

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

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-). כדי לבטא גבולות שחוצים את קו התאריך, הערך של המערב יכול להיות חיובי (למשל, 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
מכיל מחרוזת שיוך שצריך להציג במפה כשמציגים משבצות של מפת דרכים ומשבצות של תמונת לוויין. מידע נוסף זמין במאמר כללי המדיניות של Map Tiles 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
  };
}