javascript - Google Maps V3 doesn't remove event listener -
i have problem google maps api v3. i'm trying remove mouseover listener when zoom changes.
here code:
$(document).ready(function() { var myoptions = { ... }; var map = new google.maps.map(document.getelementbyid("map_canvas"), myoptions); function colormaps(map) { var newmap = map; var piemontecoords = [ ... ]; var piemontepolygon = new google.maps.polygon({ ... }); piemontepolygon.setmap(newmap); google.maps.event.addlistener(piemontepolygon, 'mouseover', function(event) { var prova = event; showinfo(prova, newmap, 'italy'); }); google.maps.event.addlistener(newmap, 'zoom_changed', function() { zoomlevel = map.getzoom(); if (zoomlevel >= 6) { google.maps.event.clearlisteners(newmap, 'mouseover'); } else { ... } } //fine colormaps google.maps.event.adddomlistener(window, 'load', colormaps(map)); }); when zoom reaches target level, listener not removed. what's wrong?
you're adding listener piemontepolygon object, you're clearing newmap object, wrong(i'm not expert in area can't sure).
try doing like:
google.maps.event.clearlisteners(piemontepolygon, 'mouseover');
edit:
according docs try aproach, if above code fails.
case 1 (you pass event type second argument well):
google.maps.event.clearinstancelisteners(piemontepolygon);
case 2:
var listener1 = google.maps.event.addlistener(piemontepolygon, 'mouseover', function( var prova = event; showinfo(prova, newmap, 'italy') }); google.maps.event.removelistener(listener1);
Comments
Post a Comment