ภาพรวมการ์ด 2 มิติ

ตัวอย่างแผนกลยุทธ์ชิ้นส่วนแผนที่เป็นเพียงการแบ่งโลกออกเป็น 2 ส่วน ตารางกริด แอปนี้ช่วยให้คุณเข้าถึงและใช้ข้อมูลแผนที่ได้อย่างมีประสิทธิภาพ ในระดับต่างๆ ของการทำแผนที่ Map Tiles API ให้คุณเข้าถึง ชุดข้อมูลทางภูมิศาสตร์ที่มีธีมหลายรายการ รวมถึงที่ดูแลจัดการโดย Google:

  • ชิ้นส่วนแผนที่แผนงานซึ่งอิงจากข้อมูลภูมิประเทศแบบเวกเตอร์ที่มี การจัดรูปแบบการทำแผนที่

  • การถ่ายภาพออร์โธดอกซ์ที่ถ่ายโดยกล้องดาวเทียมและกล้องทางอากาศที่นำส่ง ภาพถ่ายจากด้านบน (จุดต่ำสุด) ของโลก

  • แผนที่เส้นโครงร่างบนเนินเขา

ชิ้นส่วนแผนที่ 2 มิติทั้งหมดจะมีการอ้างอิงทางภูมิศาสตร์และอยู่ในแนวเดียวกัน เลือกไว้ ตามขอบเขตทางภูมิศาสตร์ของวิวพอร์ตและระดับการซูม ระดับการซูม มีค่าตั้งแต่ 0 (เพื่อดูทั้งโลก) ถึง 22 (เพื่อดูถนนและ บล็อก)

ธีมแผนที่

คุณสามารถรับชิ้นส่วนแผนที่สำหรับธีมแผนที่ต่อไปนี้

ธีมแผนที่ คำอธิบาย
แผนกลยุทธ์ ถนน อาคาร จุดที่น่าสนใจ และขอบเขตทางการเมือง
ดาวเทียม ภาพภาพถ่ายจากอวกาศ
ภูมิประเทศ แผนที่รูปทรงแสดงลักษณะทางธรรมชาติ เช่น พืชพรรณ

หากต้องการขอแผนที่ย่อยจาก Map Tiles API คุณต้องขอ โทเค็นเซสชัน โทเค็นเซสชัน ติดตามสถานะปัจจุบันของแผนที่และวิวพอร์ต เมื่อตั้งค่าเซสชัน คุณต้องตั้งค่า mapType ให้ตรงกับธีมแผนที่ที่ต้องการ จากนั้น คุณต้องใส่โทเค็นเซสชันในแต่ละคำขอเพื่อ 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
  };
}