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

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

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

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

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

ชิ้นส่วนแผนที่ 2 มิติทั้งหมดจะมีการอ้างอิงทางภูมิศาสตร์และอยู่ในแนวเดียวกัน โดยระบบจะเลือกตามขอบเขตทางภูมิศาสตร์ของวิวพอร์ตและระดับการซูม ระดับการซูม มีค่าตั้งแต่ 0 (เพื่อดูทั้งโลก) ถึง 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
  };
}