ซูมเปลี่ยนผู้ฟังเหตุการณ์ด้วย google maps api


11

ฉันกำลังพยายามสร้างฟังเหตุการณ์ที่ปิดเลเยอร์ฟิวชั่นของ Google เมื่อแผนที่ถูกซูมเข้าสู่ระดับหนึ่ง ฉันค่อนข้างใหม่กับ javascript และ google maps api ดังนั้นความช่วยเหลือใด ๆ ที่ชื่นชม ฉันพบรหัสบางอย่างที่ใกล้เคียงกับสิ่งที่ฉันต้องการ:

google.maps.event.addDomListener(map, 'zoom_changed', function() {
  var zoom = map.getZoom();
  if (zoom >= 1 && zoom <= 9) { 
    layer_0.setMap(map);
    layer_1.setMap(map);
  } 
  else if (zoom > 9 && zoom <= 11) {
    layer_0.setMap(map);
    layer_1.setMap(map);
  }
  else if (zoom > 11) {
    layer_0.setMap(null);
    layer_1.setMap(map);
  }
});

โปรดดูเว็บไซต์นี้: developers.google.com/maps/documentation/javascript/examples/… Joseph Shi
Joseph Shi

คุณสามารถเขียนข้อความที่ตัดตอนมาสั้น ๆ ในกรณีที่เนื้อหาถูกลบในภายหลัง
lynxlynxlynx

คำตอบ:


13

นี่คือรหัสบางส่วนที่ฉันใช้เพื่อสลับเลเยอร์ Fusion Tables ในแผนที่ของฉัน:

google.maps.event.addListener(map, 'zoom_changed', function() {
    zoomLevel = map.getZoom();
    if (zoomLevel >= minFTZoomLevel) {
        FTlayer.setMap(map);
    } else {
        FTlayer.setMap(null);
    }
});

มันดูเกือบจะเหมือนกับโค้ดของคุณนอกเหนือจาก addListener vs addDomListener คุณสามารถลองเพิ่มเบรกพอยต์ภายในฟังก์ชั่นของคุณเพื่อให้แน่ใจว่ามันทำงานจริงหรือไม่?


ขอบคุณสำหรับความช่วยเหลือของคุณ. ฉันเป็นมือใหม่เมื่อมาถึง Google Maps และ Javascript ดังนั้นฉันจึงยังคงทำงานต่อไป
b-rad-b
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.