<!-- thumbnail: http://www.stackgeography.com/images/stackapps_logo.png --> <!-- version: 1.0 --> <!-- tag: website --> ##Screenshot / Code Snippet ![alt text](http://stackgeography.apphb.com/images/screenshot2.png) ##About Ever wanted to see just what kind of locations are posting to the various Stack Exchange sites at any given time? Even if you haven't, you'll find it with [StackGeography](http://www.stackgeography.com/). **NEW!** Now with multiple-site concurrent polling goodness! This site started with a desire to get a visual sense of the wide-spread use of the various Stack Exchange sites while simultaneously creating a proof-of-concept mapping demo. This met both of those needs, and provided a great chance to poke around various JavaScript libraries. ###License MIT License ###Download No download necessary, just visit [stackgeography.com](http://www.stackgeography.com/). NOTE: With AppHarbor phasing out free custom domains at the end of the month, if www.stackgeography.com stops resolving correctly, you should be able to get there with the direct AppHarbor domain: [stackgeography.apphb.com](http://stackgeography.apphb.com/). ###Platform Should work on any modern web browsers with JavaScript enabled. While it works fine on desktop browsers, it has a few UI tweaks to go to be more mobile-browser friendly. ##Contact [Adam Patridge](http://www.patridgedev.com/) Bugs and requests and such can go on the [StackGeography GitHub repository](https://github.com/patridge/StackGeography). ##Code [Stackgeography.com](http://www.stackgeography.com) was written entirely in JavaScript, HTML, and CSS. The code can be found, and contributions made, at the [StackGeography GitHub repository](https://github.com/patridge/StackGeography). ###APIs Used * [Stack Exchange API v2.0][1] * [Google Maps v3][2] (used for geocoding and mapping) ###Projects Used * [jQuery v1.7.1 (MIT or GPL)][3] (used for just about everything) * [jQuery UI v1.8.16 (MIT or GPL)][4] (used for the site selection dialog) * [jsrender v1.0pre (MIT)][5] (used to render out a number of things from JavaScript objects to HTML) * [LINQ to JavaScript (JSLINQ) v2.10 (Ms-RL)][6] (used for collection manipulations) * [URI.js (MIT or GPL)][7] (used to simplify URL handling) * [jquery-jsonp (MIT)](http://code.google.com/p/jquery-jsonp/) (better JSONP error handling, though $.Deferred support isn't built-in) * [jquery.hotkeys (MIT or GPL)](https://github.com/jeresig/jquery.hotkeys/blob/master/jquery-1.4.2.js) (hit "?" for keyboard shortcut dialog) * [geoPlugin](http://www.geoplugin.com/) (geo IP lookup used for map centering) ###UPDATES ####2012-02-24 * Ability to poll meta Stack Exchange sites, defaults to omit to keep site list shorter (toggle via saved option). * Marker placement can be staggered via saved option. * Clear map markers via <kbd>#</kbd>. ####2012-02-23 * **Polling multiple sites concurrently!** The UI still needs work, but if you return to site selection by pressing <kbd>S</kbd>, you can keep adding sites to poll. * Polling management: hit <kbd>P</kbd> to view pending polls and cancel some/all of them. * Options management: hit <kbd>O</kbd> to view/set options (more options to come). * Using localStore for StackGeography options (currently only saving last selected site and maximum map markers). ####2012-01-19 * Mark questions with site-specific map markers. * Options window: * Toggle site-based map markers vs. generic stackgeography.com map marker. * Change max number of markers shown (default 500). ####2012-01-18 * Switched to ASP.NET MVC to make it easier to output-cache common API hits on the server. ####2012-01-16 * Added location geocoding in batches (up to 100). ####2012-01-13 * Added filters to the Stack Exchange API calls to cut down on JSON coming back from those requests. * Switched to SQL Server on AppHarbor to avoid locking issues on geocode cache inserts. * Added keyboard shortcuts (<kbd>?</kbd> brings up hint window). ####2009-01-09 * Google Maps 403 issue patched with server-side caching proxy for geocoding API requests. [1]: http://api.stackexchange.com/docs/ [2]: http://code.google.com/apis/maps/documentation/javascript/basics.html [3]: http://jquery.com/ [4]: http://jqueryui.com/ [5]: https://github.com/BorisMoore/jsrender [6]: http://jslinq.codeplex.com/ [7]: http://medialize.github.com/URI.js/