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

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

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

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

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

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

עיצובי מפה

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

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

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