<!-- thumbnail: https://stackgeography.apphb.com/images/stackapps_logo.png --> <!-- version: 1.0 --> <!-- tag: website --> ## Screenshot / Code Snippet [![alt text][8]][8] <sub>(source: [apphb.com](https://stackgeography.apphb.com/images/screenshot2.png))</sub> ## 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][9]. **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.apphb.com][10]. 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][10]. ### 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][11] Bugs and requests and such can go on the [StackGeography GitHub repository](https://github.com/patridge/StackGeography). ## Code [Stackgeography.apphb.com][12] 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)][13] (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][14] (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]: https://api.stackexchange.com/docs/ [2]: https://developers.google.com/maps/documentation/javascript/basics?csw=1 [3]: https://jquery.com/ [4]: https://jqueryui.com/ [5]: https://github.com/BorisMoore/jsrender [6]: https://web.archive.org/web/20180120035546/http://jslinq.codeplex.com:80/ [7]: https://web.archive.org/web/20130403134601/http://medialize.github.com/URI.js/ [8]: https://i.sstatic.net/gmloA.png [9]: https://web.archive.org/web/20210920181623/http://stackgeography.apphb.com/ [10]: https://web.archive.org/web/20210920181623/http://stackgeography.apphb.com/ [11]: https://www.patridgedev.com/ [12]: https://web.archive.org/web/20210920181623/http://stackgeography.apphb.com/ [13]: https://web.archive.org/web/20160116051802/https://code.google.com/p/jquery-jsonp/ [14]: https://www.geoplugin.com/