แผนที่เวกเตอร์

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

Maps JavaScript API มีแผนที่ 2 แบบให้ใช้งาน ได้แก่ แรสเตอร์และเวกเตอร์ ระบบจะโหลดแผนที่แรสเตอร์โดยค่าเริ่มต้นและโหลดแผนที่เป็นตารางกริดเป็นภาพแรสเตอร์แบบพิกเซล ซึ่งสร้างโดยฝั่งเซิร์ฟเวอร์ของ Google Maps Platform จากนั้นแสดงเว็บแอปของคุณ เวกเตอร์เวกเตอร์จะประกอบไปด้วยชิ้นส่วนแบบเวกเตอร์ที่วาดในเวลาโหลดฝั่งไคลเอ็นต์โดยใช้ WebGL ซึ่งเป็นเทคโนโลยีเว็บที่ช่วยให้เบราว์เซอร์เข้าถึง GPU ในอุปกรณ์ 2 ของอุปกรณ์ได้

แผนที่เวกเตอร์คือแผนที่ Google เดียวกันกับที่ผู้ใช้คุ้นเคยกับการใช้งาน และมีข้อได้เปรียบมากกว่าแผนที่แรสเตอร์เริ่มต้น โดยเฉพาะอย่างยิ่งความคมชัดของรูปภาพแบบเวกเตอร์ และการเพิ่มอาคาร 3 มิติในระดับการซูมที่ใกล้เคียงที่สุด นอกจากนี้ แผนที่เวกเตอร์ยังรองรับฟีเจอร์ใหม่ๆ เช่น ความสามารถในการเพิ่มเนื้อหา 3 มิติด้วยมุมมองโฆษณาซ้อนทับ, การควบคุมการเอียงและส่วนหัวแบบเป็นโปรแกรม, การควบคุมกล้องที่ได้รับการปรับปรุง และการซูมบางส่วนเพื่อให้ซูมได้อย่างราบรื่นยิ่งขึ้น

เริ่มต้นใช้งาน Vector Maps

ควบคุมกล้อง

ใช้ฟังก์ชัน map.moveCamera() เพื่ออัปเดตชุดพร็อพเพอร์ตี้ของกล้องพร้อมกัน map.moveCamera() ยอมรับพารามิเตอร์เดียวที่มีพร็อพเพอร์ตี้กล้องทั้งหมดเพื่ออัปเดต ตัวอย่างต่อไปนี้แสดงการเรียก map.moveCamera() เพื่อตั้งค่า center, zoom, heading และ tilt พร้อมกัน

map.moveCamera({
  center: new google.maps.LatLng(37.7893719, -122.3942),
  zoom: 16,
  heading: 320,
  tilt: 47.5
});

คุณทําให้พร็อพเพอร์ตี้ของกล้องเคลื่อนไหวได้โดยเรียกใช้ map.moveCamera() พร้อมห่วงภาพเคลื่อนไหว ดังนี้

const degreesPerSecond = 3;

function animateCamera(time) {
  // Update the heading, leave everything else as-is.
  map.moveCamera({
    heading: (time / 1000) * degreesPerSecond
  });

  requestAnimationFrame(animateCamera);
}

// Start the animation.
requestAnimationFrame(animateCamera);

การซูมส่วนย่อย

แผนที่เวกเตอร์รองรับการซูมส่วนย่อย ซึ่งช่วยให้คุณซูมได้โดยใช้ค่าเศษส่วนแทนจํานวนเต็ม ในขณะที่ทั้งแผนที่แรสเตอร์และเวกเตอร์รองรับการซูมส่วนย่อย แต่การซูมบางส่วนจะเปิดอยู่โดยค่าเริ่มต้นสําหรับแผนที่เวกเตอร์ และปิดโดยค่าเริ่มต้นสําหรับแผนที่แรสเตอร์ ใช้ตัวเลือกแผนที่ isFractionalZoomEnabled เพื่อเปิดและปิดการซูมบางส่วน

ตัวอย่างต่อไปนี้แสดงการเปิดใช้การซูมบางส่วนเมื่อเริ่มต้นแผนที่

map = new google.maps.Map(document.getElementById('map'), {
  center: {lat: -34.397, lng: 150.644},
  zoom: 8,
  isFractionalZoomEnabled: true
});

นอกจากนี้ คุณยังเปิดและปิดการซูมบางส่วนได้โดยตั้งค่าตัวเลือกแผนที่ isFractionalZoomEnabled ตามที่ปรากฏที่นี่

// Using map.set
map.set('isFractionalZoomEnabled', true);

// Using map.setOptions
map.setOptions({isFractionalZoomEnabled: true});

คุณตั้งค่า Listener ให้ตรวจดูว่ามีการเปิดใช้การซูมบางส่วนหรือไม่ ซึ่งจะเป็นประโยชน์มากที่สุดหากคุณไม่ได้ตั้งค่า isFractionalZoomEnabled เป็น true หรือ false อย่างชัดเจน โค้ดตัวอย่างต่อไปนี้จะตรวจสอบว่ามีการเปิดใช้การซูมบางส่วนหรือไม่

map.addListener('isfractionalzoomenabled_changed', () => {
  const isFractionalZoomEnabled = map.get('isFractionalZoomEnabled');
  if (isFractionalZoomEnabled === false) {
    console.log('not using fractional zoom');
  } else if (isFractionalZoomEnabled === true) {
    console.log('using fractional zoom');
  } else {
    console.log('map not done initializing yet');
  }
});