JQVMap.prototype.placePins = function(pins, pinMode){ var map = this; if(!pinMode || (pinMode !== 'content' && pinMode !== 'id')) { pinMode = 'content'; } if(pinMode === 'content') {//treat pin as content jQuery.each(pins, function(index, pin){ if(jQuery('#' + map.getCountryId(index)).length === 0){ return; } var pinIndex = map.getPinId(index); var $pin = jQuery('#' + pinIndex); if($pin.length > 0){ $pin.remove(); } map.container.append('
' + pin + '
'); }); } else { //treat pin as id of an html content jQuery.each(pins, function(index, pin){ if(jQuery('#' + map.getCountryId(index)).length === 0){ return; } var pinIndex = map.getPinId(index); var $pin = jQuery('#' + pinIndex); if($pin.length > 0){ $pin.remove(); } map.container.append('
'); $pin.append(jQuery('#' + pin)); }); } this.positionPins(); if(!this.pinHandlers){ this.pinHandlers = true; var positionFix = function(){ map.positionPins(); }; this.container.bind('zoomIn', positionFix) .bind('zoomOut', positionFix) .bind('drag', positionFix); } };