Created
January 19, 2012 13:13
-
-
Save ricroberts/1640003 to your computer and use it in GitHub Desktop.
Main closure
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(){ | |
var mapManager | |
, idleListener = null | |
, startTime | |
, map = new google.maps.Map(document.getElementById("map_canvas"), { | |
zoom: 14, | |
center: new google.maps.LatLng(53.48, -2.245), // Manchester | |
mapTypeId: google.maps.MapTypeId.ROADMAP, | |
streetViewControl: false | |
}); | |
// initialize with the overall score. | |
var mapManager = new swirrl.MapManager(map, "IMD-score"); | |
// Handle events coming out of the Map Manager. | |
$(mapManager).bind('started', function() { | |
startTime = new Date(); | |
if(idleListener) { | |
google.maps.event.removeListener(idleListener); | |
idleListener = null; | |
} | |
$("#busy_notice").show(); | |
}); | |
$(mapManager).bind('finished', function() { | |
window.swirrl.log('busy duration: ' + (new Date() - startTime) + ' ms'); | |
$("#busy_notice").hide(); | |
bindMapIdle(); | |
}); | |
// show warning if zoom too wide | |
$(mapManager).bind('zoomTooWide', function() { | |
if (!$("#zoom_warning").is(":visible")) { | |
$("#zoom_warning").show(); | |
} | |
}); | |
// hide warning if zoom oK | |
$(mapManager).bind('zoomOK', function() { | |
if ($("#zoom_warning").is(":visible")) { | |
$("#zoom_warning").hide(); | |
} | |
}); | |
// function to wire up the idleListener | |
var bindMapIdle = function() { | |
// if we don't already have an idle-listener, bind one up. | |
// (fires when the map bounds haven't changed for a bit) | |
if (!idleListener) { | |
idleListener = google.maps.event.addListener(map, 'idle', function(e) { | |
window.swirrl.log('refreshing map'); | |
mapManager.refresh(); | |
}); | |
} | |
} | |
// Finally, start listening to Map-Idle events. | |
bindMapIdle(); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment