CINXE.COM
Simon Willison on google-maps
<!DOCTYPE html> <html lang="en-gb"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="canonical" href="https://simonwillison.net/tags/google-maps/"> <title>Simon Willison on google-maps</title> <script defer data-domain="simonwillison.net" src="https://plausible.io/js/plausible.js"></script> <link rel="alternate" type="application/atom+xml" title="Atom" href="/atom/everything/"> <link rel="stylesheet" type="text/css" href="/static/css/all.css"> <link rel="webmention" href="https://webmention.io/simonwillison.net/webmention"> <link rel="pingback" href="https://webmention.io/simonwillison.net/xmlrpc"> </head> <body class="smallhead"> <div id="smallhead"> <div id="smallhead-inner"> <h1><a href="/">Simon Willison’s Weblog</a></h1> <a id="smallhead-about" href="/about/#subscribe">Subscribe</a> </div> </div><!-- #smallhead --> <div id="wrapper"> <div id="primary"> <a style="float: right; border-bottom: none; margin-top: 0.4em" href="/tags/google-maps.atom"><svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewBox="0 0 256 256" role="img" aria-labelledby="atomFeedTitle"> <title>Atom feed for google-maps</title> <defs> <linearGradient id="a" x1=".1" x2=".9" y1=".1" y2=".9"> <stop offset="0" stop-color="#E3702D"></stop> <stop offset=".1" stop-color="#EA7D31"></stop> <stop offset=".4" stop-color="#F69537"></stop> <stop offset=".5" stop-color="#FB9E3A"></stop> <stop offset=".7" stop-color="#EA7C31"></stop> <stop offset=".9" stop-color="#DE642B"></stop> <stop offset="1" stop-color="#D95B29"></stop> </linearGradient> </defs> <rect width="256" height="256" fill="#CC5D15" rx="55" ry="55"></rect> <rect width="246" height="246" x="5" y="5" fill="#F49C52" rx="50" ry="50"></rect> <rect width="236" height="236" x="10" y="10" fill="url(#a)" rx="47" ry="47"></rect> <circle cx="68" cy="189" r="24" fill="#FFF"></circle> <path fill="#FFF" d="M160 213h-34a82 82 0 0 0-82-82V97a116 116 0 0 1 116 116z"></path> <path fill="#FFF" d="M184 213A140 140 0 0 0 44 73V38a175 175 0 0 1 175 175z"></path> </svg> </a> <h2 class="archive-h2">53 items tagged “google-maps”</h2> <!-- Tag ID: 1678 --> <form action="/search/" method="GET"> <input type="search" class="search-input" name="q" value="" placeholder="Search everything tagged 'google-maps'" style="width: 80%"> <input type="submit" class="search-submit" value="Search"> <input type="hidden" name="tag" value="google-maps"> </form> <h3 class="blog-mixed-list-year">2020</h3> <div class="quote segment"> <blockquote cite="https://joemorrison.substack.com/p/google-maps-moat-is-evaporating"><p>You know Google Maps? What I do is, like, build little pieces of Google Maps over and over for people who need them but can’t just use Google Maps because they’re not allowed to for some reason, or another.</p></blockquote> <p class="cite">— <a href="https://joemorrison.substack.com/p/google-maps-moat-is-evaporating">Joe Morrison</a></span></p> <p class="date-and-tags"> <a href="/2020/Dec/29/joe-morrison/" rel="bookmark">#</a> <a href="/2020/Dec/29/">29th December 2020</a>, 8:32 pm / <a href="/tags/google-maps/">google-maps</a> </p> </div> <h3 class="blog-mixed-list-year">2017</h3> <div class="blogmark segment"> <p><strong><a href="https://www.justinobeirne.com/google-maps-moat">Google Maps’s Moat</a></strong>. Gorgeous essay by digital cartographer Justin O’Beirne, exploring how Google Maps has evolved over time and how the fantastically useful “areas of interest” feature (where commercial corridors and business districts are automatically highlighted) uses data derived from a combination of Street View business data and 3D building outlines derived from aerial imagery.</p> <p class="date-and-tags"><a href="/2017/Dec/23/google-maps-moat/" rel="bookmark">#</a> <a href="/2017/Dec/23/">23rd December 2017</a>, 9:35 am / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/cartography/">cartography</a></p> </div> <h3 class="blog-mixed-list-year">2013</h3> <div class="entry segment"> <h3><a href="/2013/Dec/3/is-there-an-open/" rel="bookmark">Is there an open source (or freely accessible) database of geofence coordinates for common places, such as cities or national parks?</a></h3> <p> <p>Take a look at Flickr’s openly licensed shapefiles:</p> <span style="font-size: 0.9em">[... <a href="/2013/Dec/3/is-there-an-open/">59 words</a>]</span> </p> <div class="entryFooter"> <a href="/2013/Dec/3/is-there-an-open/" title="Permalink for "Is there an open source (or freely accessible) database of geofence coordinates for common places, such as cities or national parks?"">12:59 pm</a> / <a href="/2013/Dec/3/">3rd December 2013</a> / <a href="/tags/databases/">databases</a>, <a href="/tags/geolocation/">geolocation</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/location/">location</a>, <a href="/tags/maps/">maps</a>, <a href="/tags/open-source/">open-source</a>, <a href="/tags/quora/">quora</a> </div> </div> <!-- end div.entry --> <div class="entry segment"> <h3><a href="/2013/Nov/12/does-the-google-maps/" rel="bookmark">Does the Google Maps API let you remove details of the map such as street names to focus on pins on the map?</a></h3> <p> <p>Yes—you can do this with map styles (which allow you to set the visibility if road labels, among other things): <span><a href="https://developers.google.com/maps/documentation/javascript/styling">http://developers.google.com/map...</a></span></p> <span style="font-size: 0.9em">[... <a href="/2013/Nov/12/does-the-google-maps/">53 words</a>]</span> </p> <div class="entryFooter"> <a href="/2013/Nov/12/does-the-google-maps/" title="Permalink for "Does the Google Maps API let you remove details of the map such as street names to focus on pins on the map?"">2:33 pm</a> / <a href="/2013/Nov/12/">12th November 2013</a> / <a href="/tags/apis/">apis</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/maps/">maps</a>, <a href="/tags/quora/">quora</a> </div> </div> <!-- end div.entry --> <div class="entry segment"> <h3><a href="/2013/Aug/7/web-app-what-programming/" rel="bookmark">Web app: what programming knowledge do I need to create a goings on app?</a></h3> <p> <p>For this kind of application a much more important question than "how can I build it? is "where will I get the data from?"—If you don’t have a good answer for that building the app is a waste of your time. The world is littered with local events listings apps that no one uses because they don’t have good data.</p> <span style="font-size: 0.9em">[... <a href="/2013/Aug/7/web-app-what-programming/">82 words</a>]</span> </p> <div class="entryFooter"> <a href="/2013/Aug/7/web-app-what-programming/" title="Permalink for "Web app: what programming knowledge do I need to create a goings on app?"">6:42 pm</a> / <a href="/2013/Aug/7/">7th August 2013</a> / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/mobileweb/">mobileweb</a>, <a href="/tags/programming-languages/">programming-languages</a>, <a href="/tags/python/">python</a>, <a href="/tags/quora/">quora</a> </div> </div> <!-- end div.entry --> <h3 class="blog-mixed-list-year">2012</h3> <div class="entry segment"> <h3><a href="/2012/Sep/20/why-is-everyone-so/" rel="bookmark">Why is everyone so obsessed with picking faults with Apple’s new maps on the iPhone?</a></h3> <p> <p>Because this is actually a really big deal. For a lot of people (especially those who live in a big city like London or New York) the maps app is one of the most-used apps on their phone. The new iOS maps are a huge regression, not just in terms of map quality but also in terms of search results. On iOS 6 (at least here in the UK) you can’t even type in a simple address and trust that your phone will show you a pin in the right place.</p> <span style="font-size: 0.9em">[... <a href="/2012/Sep/20/why-is-everyone-so/">143 words</a>]</span> </p> <div class="entryFooter"> <a href="/2012/Sep/20/why-is-everyone-so/" title="Permalink for "Why is everyone so obsessed with picking faults with Apple's new maps on the iPhone?"">4:25 pm</a> / <a href="/2012/Sep/20/">20th September 2012</a> / <a href="/tags/android/">android</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/quora/">quora</a>, <a href="/tags/iphones/">iphones</a> </div> </div> <!-- end div.entry --> <h3 class="blog-mixed-list-year">2010</h3> <div class="blogmark segment"> <p><strong><a href="http://www.41latitude.com/post/2072504768/google-maps-label-readability">Google Maps and Label Readability</a></strong>. Obsessively detailed analysis of exactly what makes Google Maps so readable when compared to Yahoo! and Bing.</p> <p class="date-and-tags"><a href="/2010/Dec/3/cartography/" rel="bookmark">#</a> <a href="/2010/Dec/3/">3rd December 2010</a>, 5:08 pm / <a href="/tags/cartography/">cartography</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/recovered/">recovered</a></p> </div> <div class="entry segment"> <h3><a href="/2010/Nov/1/how-come-google-maps/" rel="bookmark">How come Google Maps provides so many more local Wikipedia entries that GeoNames?</a></h3> <p> <p>My guess is that GeoNames just uses the latitude/longitude fields from Wikipedia (you can see them in the top right corner of most pages that describe a place), whereas Google actually do some text analysis and attempt to geocode articles themselves, even if they don’t have an exact latitude longitude assigned to them.</p> <span style="font-size: 0.9em">[... <a href="/2010/Nov/1/how-come-google-maps/">72 words</a>]</span> </p> <div class="entryFooter"> <a href="/2010/Nov/1/how-come-google-maps/" title="Permalink for "How come Google Maps provides so many more local Wikipedia entries that GeoNames?"">11:47 am</a> / <a href="/2010/Nov/1/">1st November 2010</a> / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/quora/">quora</a> </div> </div> <!-- end div.entry --> <div class="blogmark segment"> <p><strong><a href="http://www.stevesouders.com/blog/2010/07/09/diffable-only-download-the-deltas/">Diffable: only download the deltas</a></strong>. JavaScript library for detecting and serving diffs to JavaScript rather than downloading large scripts every time a few lines of code are changed. “Using Diffable has reduced page load times in Google Maps by more than 1200 milliseconds (~25%). Note that this benefit only affects users that have an older version of the script in cache. For Google Maps that’s 20-25% of users.”</p> <p class="date-and-tags"><a href="/2010/Jul/11/diffable/" rel="bookmark">#</a> <a href="/2010/Jul/11/">11th July 2010</a>, 12:19 pm / <a href="/tags/diffable/">diffable</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/javascript/">javascript</a>, <a href="/tags/performance/">performance</a>, <a href="/tags/steve-souders/">steve-souders</a>, <a href="/tags/recovered/">recovered</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://github.com/simonw/getlatlon.com/commit/dae961a014979b711bbb36d0c6c129bcc37e7a4a">getlatlon.com commit dae961a...</a></strong> I’ve finally added an OpenStreetMap tab to getlatlon.com—here’s the diff, it turns out adding a custom OpenStreetMap layer to an existing Google Maps application only takes a few lines of boilerplate code.</p> <p class="date-and-tags"><a href="/2010/Jul/10/commit/" rel="bookmark">#</a> <a href="/2010/Jul/10/">10th July 2010</a>, 12:22 pm / <a href="/tags/getlatlon/">getlatlon</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/javascript/">javascript</a>, <a href="/tags/openstreetmap/">openstreetmap</a>, <a href="/tags/projects/">projects</a>, <a href="/tags/recovered/">recovered</a></p> </div> <h3 class="blog-mixed-list-year">2009</h3> <div class="blogmark segment"> <p><strong><a href="http://cartographer.visualmotive.com/">Cartographer.js</a></strong>. “Thematic mapping for Google Maps”—which means an easy way of adding heat maps (aka chloropleths), pie charts and point clusters as a layer over a Google map.</p> <p class="date-and-tags"><a href="/2009/Nov/1/cartographerjs/" rel="bookmark">#</a> <a href="/2009/Nov/1/">1st November 2009</a>, 1:20 pm / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/google/">google</a>, <a href="/tags/catography/">catography</a>, <a href="/tags/maps/">maps</a>, <a href="/tags/mapping/">mapping</a>, <a href="/tags/heatmaps/">heatmaps</a>, <a href="/tags/piecharts/">piecharts</a>, <a href="/tags/graphs/">graphs</a>, <a href="/tags/infographics/">infographics</a>, <a href="/tags/visualisation/">visualisation</a>, <a href="/tags/chloropleths/">chloropleths</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://googlegeodevelopers.blogspot.com/2009/08/static-maps-api-v2-encoded-paths.html">Static Maps API v2</a></strong>. The new version of the Google Static Maps API (static images generated using arguments in a URL, no JavaScript required) adds support for paths, areas and automatically geocoding addresses to specify locations of markers and the centre of the map.</p> <p class="date-and-tags"><a href="/2009/Aug/26/google/" rel="bookmark">#</a> <a href="/2009/Aug/26/">26th August 2009</a>, 9:01 am / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/google/">google</a>, <a href="/tags/staticmapsapi/">staticmapsapi</a>, <a href="/tags/mapping/">mapping</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://googlemapsapi.blogspot.com/2007/05/v280-making-image-overlays-easy-with.html">Making Image Overlays Easy with GGroundOverlay and GGeoXML</a></strong> (<a href="https://twitter.com/psychemedia/status/2934986818" title="Tony Hirst">via</a>) Surprisingly, there doesn’t appear to be a good online tool for helping align an overlay image with a Google Map and exporting the result as a KML file. This is the best I could find—Yahoo! used to have a tool called MapMixer but it doesn’t seem to exist any more.</p> <p class="date-and-tags"><a href="/2009/Jul/30/overlays/" rel="bookmark">#</a> <a href="/2009/Jul/30/">30th July 2009</a>, 10:58 pm / <a href="/tags/maps/">maps</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/overlays/">overlays</a></p> </div> <div class="entry segment"> <h3><a href="/2009/Jul/28/tools/" rel="bookmark">Hack Day tools for non-developers</a></h3> <p> <p>We’re about to run our second internal hack day at the Guardian. The first was <a href="http://www.guardian.co.uk/global/insideguardian/2008/nov/18/guardian-hack-day-results" title="Results from Hack Day at the Guardian">an enormous amount of fun</a> and the second one looks set to be even more productive.</p> <span style="font-size: 0.9em">[... <a href="/2009/Jul/28/tools/">920 words</a>]</span> </p> <div class="entryFooter"> <a href="/2009/Jul/28/tools/" title="Permalink for "Hack Day tools for non-developers"">2:23 pm</a> / <a href="/2009/Jul/28/">28th July 2009</a> / <a href="/tags/freebase/">freebase</a>, <a href="/tags/google/">google</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/guardian/">guardian</a>, <a href="/tags/hackday/">hackday</a>, <a href="/tags/mapping/">mapping</a>, <a href="/tags/nondevelopers/">nondevelopers</a>, <a href="/tags/openstreetmap/">openstreetmap</a>, <a href="/tags/pipes/">pipes</a>, <a href="/tags/sketchup/">sketchup</a>, <a href="/tags/tools/">tools</a>, <a href="/tags/yahoopipes/">yahoopipes</a>, <a href="/tags/computer-literacy/">computer-literacy</a> </div> </div> <!-- end div.entry --> <div class="blogmark segment"> <p><strong><a href="https://googlegeodevelopers.blogspot.com/2009/05/announcing-google-maps-api-v3.html">Announcing Google Maps API v3</a></strong>. Sounds like a complete rewrite, with performance as the key goal. Only a developer preview at the moment, but my favourite feature is that API keys are no longer required.</p> <p class="date-and-tags"><a href="/2009/May/28/googlemaps/" rel="bookmark">#</a> <a href="/2009/May/28/">28th May 2009</a>, 1:22 am / <a href="/tags/google/">google</a>, <a href="/tags/api-keys/">api-keys</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/googlemaps3/">googlemaps3</a>, <a href="/tags/mapping/">mapping</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://code.google.com/apis/maps/documentation/mapsdata/">Google Maps Data API</a></strong> (<a href="https://googlegeodevelopers.blogspot.com/2009/05/introducing-google-maps-data-api-in.html" title="Google Geo Developers Blog">via</a>) I’m disappointed by this one—it’s really just a CRUD store for the KML files used in Google MyMaps. It would be a lot more useful if it let you perform geospatial calculations against your stored map data using some kind of query API—a cloud service alternative to tools like PostGIS.</p> <p class="date-and-tags"><a href="/2009/May/20/mapdata/" rel="bookmark">#</a> <a href="/2009/May/20/">20th May 2009</a>, 9:07 pm / <a href="/tags/postgis/">postgis</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/google-maps-api/">google-maps-api</a>, <a href="/tags/googlemapsdataapi/">googlemapsdataapi</a>, <a href="/tags/gdata/">gdata</a>, <a href="/tags/apis/">apis</a>, <a href="/tags/gis/">gis</a>, <a href="/tags/kml/">kml</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://code.google.com/apis/ajax/playground/">AJAX APIs Playground</a></strong>. Ferociously useful collection of executable and editable example code for all(?) of Google’s JavaScript APIs, including Google Maps and the increasingly interesting Visualization API.</p> <p class="date-and-tags"><a href="/2009/Jan/22/ajax/" rel="bookmark">#</a> <a href="/2009/Jan/22/">22nd January 2009</a>, 6:38 pm / <a href="/tags/google/">google</a>, <a href="/tags/javascript/">javascript</a>, <a href="/tags/ajax/">ajax</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/googlevisualization/">googlevisualization</a></p> </div> <h3 class="blog-mixed-list-year">2008</h3> <div class="blogmark segment"> <p><strong><a href="http://highearthorbit.com/fowa-london-beyond-googlemaps/">FOWA London—Beyond GoogleMaps</a></strong>. Andrew Turner’s talk at FOWA was the most information dense presentation I’ve ever seen, and discussed a huge number of cool geo projects that I’d never previously heard of. Andrew links to the full slides and video, well worth a watch.</p> <p class="date-and-tags"><a href="/2008/Oct/17/fowa/" rel="bookmark">#</a> <a href="/2008/Oct/17/">17th October 2008</a>, 2:01 pm / <a href="/tags/fowa2008/">fowa2008</a>, <a href="/tags/andrew-turner/">andrew-turner</a>, <a href="/tags/geo/">geo</a>, <a href="/tags/maps/">maps</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/presentations/">presentations</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://googlegeodevelopers.blogspot.com/2008/10/2-lines-of-code-make-world-more.html">Google’s Wikipedia and Panoramio layers are now available in the API</a></strong>. I really like their use of reverse domain style identifiers for the layer IDs: map.addOverlay(new GLayer(“org.wikipedia”));</p> <p class="date-and-tags"><a href="/2008/Oct/2/google/" rel="bookmark">#</a> <a href="/2008/Oct/2/">2nd October 2008</a>, 11:59 am / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/wikipedia/">wikipedia</a>, <a href="/tags/javascript/">javascript</a>, <a href="/tags/panoramio/">panoramio</a>, <a href="/tags/glayer/">glayer</a></p> </div> <div class="blogmark segment"> <p><strong><a href="http://www.capitalradio.co.uk/london-guide/">Capital Radio’s London Guide</a></strong>. Worth pointing out: the search / map interface on this page is one of the best examples of progressive enhancement I’ve ever seen. Try disabling JavaScript and see what happens. It seems like most developers just can’t be bothered with this kind of attention to detail these days, which disappoints me.</p> <p class="date-and-tags"><a href="/2008/Aug/29/londonguide/" rel="bookmark">#</a> <a href="/2008/Aug/29/">29th August 2008</a>, 1:48 am / <a href="/tags/capitalradio/">capitalradio</a>, <a href="/tags/londonguide/">londonguide</a>, <a href="/tags/progressive-enhancement/">progressive-enhancement</a>, <a href="/tags/javascript/">javascript</a>, <a href="/tags/accessibility/">accessibility</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/unobtrusive-javascript/">unobtrusive-javascript</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://gmaps-utility-library.googlecode.com/svn/trunk/mapiconmaker/1.0/docs/examples.html">MapIconMaker</a></strong>. Extension API that lets you programatically construct a Google Maps bubble marker icon with a custom size, gradient and stroke colour. Under the hood it uses the Google Chart API with the (undocumented?) “mm” chart type.</p> <p class="date-and-tags"><a href="/2008/Aug/11/mapiconmaker/" rel="bookmark">#</a> <a href="/2008/Aug/11/">11th August 2008</a>, 8:48 am / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/googlechartapi/">googlechartapi</a>, <a href="/tags/markers/">markers</a>, <a href="/tags/mapiconmaker/">mapiconmaker</a>, <a href="/tags/javascript/">javascript</a></p> </div> <div class="blogmark segment"> <p><strong><a href="http://www.heatmapapi.com/">HeatMapAPI</a></strong> (<a href="http://jeffreybarke.net/2008/07/density-map-tutorial/" title="Jeffrey Barke">via</a>) Cool (or should that be hot?) API for adding heat maps to any Google Maps application.</p> <p class="date-and-tags"><a href="/2008/Jul/19/heatmapapi/" rel="bookmark">#</a> <a href="/2008/Jul/19/">19th July 2008</a>, 11:46 pm / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/heatmaps/">heatmaps</a>, <a href="/tags/mapping/">mapping</a></p> </div> <div class="blogmark segment"> <p><strong><a href="http://travel.capitalradio.co.uk/">Capital FM London Traffic Map</a></strong>. We launched this today at GCap (née Global Radio). I’m particularly impressed with how well the team handled clustering the traffic cameras on the Google map.</p> <p class="date-and-tags"><a href="/2008/Jun/27/traffic/" rel="bookmark">#</a> <a href="/2008/Jun/27/">27th June 2008</a>, 6:22 pm / <a href="/tags/gcap/">gcap</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/clustering/">clustering</a>, <a href="/tags/traffic/">traffic</a>, <a href="/tags/capitalfm/">capitalfm</a>, <a href="/tags/london/">london</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://maps.google.com/">Google Maps now shows photos and Wikipedia articles</a></strong>. Click the “More...” button. My first thought was “how do they get so many photo markers on the map?”—Firebug shows that they’re generating tiles on the server containing multiple photo markers, then when you click on one an Ajax call checks which photo is in that particular spot.</p> <p class="date-and-tags"><a href="/2008/May/14/google/" rel="bookmark">#</a> <a href="/2008/May/14/">14th May 2008</a>, 7:10 pm / <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/javascript/">javascript</a>, <a href="/tags/ajax/">ajax</a>, <a href="/tags/wikipedia/">wikipedia</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://google-latlong.blogspot.com/2008/04/kml-new-standard-for-sharing-maps.html">KML: A new standard for sharing maps</a></strong>. Google’s KML format, which is already supported by both Microsoft and Yahoo!’s map software, has been accepted under the wing of the Open Geospatial Consortium and is now an international standard.</p> <p class="date-and-tags"><a href="/2008/Apr/14/kml/" rel="bookmark">#</a> <a href="/2008/Apr/14/">14th April 2008</a>, 6:36 pm / <a href="/tags/ogc/">ogc</a>, <a href="/tags/kml/">kml</a>, <a href="/tags/google/">google</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/maps/">maps</a>, <a href="/tags/mapping/">mapping</a></p> </div> <div class="entry segment"> <h3><a href="/2008/Mar/22/wikinear/" rel="bookmark">wikinear.com, OAuth and Fire Eagle</a></h3> <p> <p>I’m pleased to announce <a href="http://wikinear.com/">wikinear.com</a>. It’s a simple site that does just one thing: show you a list of the five Wikipedia pages that are geographically closest to your current location. It’s designed (or not-designed) to be used mainly from mobile phones.</p> <span style="font-size: 0.9em">[... <a href="/2008/Mar/22/wikinear/">1,190 words</a>]</span> </p> <div class="entryFooter"> <a href="/2008/Mar/22/wikinear/" title="Permalink for "wikinear.com, OAuth and Fire Eagle"">2:34 pm</a> / <a href="/2008/Mar/22/">22nd March 2008</a> / <a href="/tags/django/">django</a>, <a href="/tags/fireeagle/">fireeagle</a>, <a href="/tags/geonames/">geonames</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/oauth/">oauth</a>, <a href="/tags/wikinear/">wikinear</a>, <a href="/tags/wikipedia/">wikipedia</a> </div> </div> <!-- end div.entry --> <div class="blogmark segment"> <p><strong><a href="https://googlemapsapi.blogspot.com/2008/02/google-maps-without-scripting.html">Google Maps Without the Scripting</a></strong>. Google Maps has finally added a simple API for retrieving static map images.</p> <p class="date-and-tags"><a href="/2008/Mar/4/official/" rel="bookmark">#</a> <a href="/2008/Mar/4/">4th March 2008</a>, 11:54 pm / <a href="/tags/staticmaps/">staticmaps</a>, <a href="/tags/mapping/">mapping</a>, <a href="/tags/google-maps/">google-maps</a></p> </div> <div class="blogmark segment"> <p><strong><a href="http://www.acme.com/javascript/#Clusterer">Google Maps Clusterer</a></strong>. I’ve looked at a few clustering libraries for Google Maps, but this one seems to have the nicest API.</p> <p class="date-and-tags"><a href="/2008/Jan/28/javascript/" rel="bookmark">#</a> <a href="/2008/Jan/28/">28th January 2008</a>, 3:07 pm / <a href="/tags/clustering/">clustering</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/maps/">maps</a></p> </div> <div class="blogmark segment"> <p><strong><a href="https://www.amazon.com/exec/obidos/ASIN/0980285844/swillison-20">The Art & Science of JavaScript</a></strong>. The JavaScript book I contributed to is now shipping! My chapter describes how to build a Flickr / Google Maps mashup entirely using client-side code (via JSON-P).</p> <p class="date-and-tags"><a href="/2008/Jan/12/artscience/" rel="bookmark">#</a> <a href="/2008/Jan/12/">12th January 2008</a>, 7:05 pm / <a href="/tags/javascript/">javascript</a>, <a href="/tags/writing/">writing</a>, <a href="/tags/books/">books</a>, <a href="/tags/flickr/">flickr</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/jsonp/">jsonp</a>, <a href="/tags/json/">json</a>, <a href="/tags/sitepoint/">sitepoint</a>, <a href="/tags/theartandscienceofjavascript/">theartandscienceofjavascript</a></p> </div> <div class="blogmark segment"> <p><strong><a href="http://www.postneo.com/2008/01/07/google-apps-for-your-newsroom">Google apps for your newsroom</a></strong>. How the LJ World team use online tools like Google Spreadsheet, Swivel, ManyEyes and Google MyMaps to collaborate with the newsroom and build data-heavy applications even faster.</p> <p class="date-and-tags"><a href="/2008/Jan/7/newsroom/" rel="bookmark">#</a> <a href="/2008/Jan/7/">7th January 2008</a>, 9:24 pm / <a href="/tags/news/">news</a>, <a href="/tags/journalism/">journalism</a>, <a href="/tags/ljworld/">ljworld</a>, <a href="/tags/django/">django</a>, <a href="/tags/manyeyes/">manyeyes</a>, <a href="/tags/google/">google</a>, <a href="/tags/mymaps/">mymaps</a>, <a href="/tags/google-maps/">google-maps</a>, <a href="/tags/google-calendar/">google-calendar</a>, <a href="/tags/google-docs/">google-docs</a>, <a href="/tags/newsroom/">newsroom</a>, <a href="/tags/collaboration/">collaboration</a>, <a href="/tags/matt-croydon/">matt-croydon</a></p> </div> <div class="pagination"> <span class="step-links"> <span class="current"> page 1 / 2 </span> <a href="?page=2">next »</a> </span> </div> </div> <!-- #primary --> <div id="secondary"> <div class="metabox"> <p><strong>Related</strong></p> <a class="item-tag" href="/tags/google/" rel="tag"> google <span>329</span> </a> <a class="item-tag" href="/tags/maps/" rel="tag"> maps <span>43</span> </a> <a class="item-tag" href="/tags/javascript/" rel="tag"> javascript <span>689</span> </a> <a class="item-tag" href="/tags/mapping/" rel="tag"> mapping <span>54</span> </a> <a class="item-tag" href="/tags/quora/" rel="tag"> quora <span>1005</span> </a> <a class="item-tag" href="/tags/kml/" rel="tag"> kml <span>8</span> </a> <a class="item-tag" href="/tags/openstreetmap/" rel="tag"> openstreetmap <span>49</span> </a> <a class="item-tag" href="/tags/wikipedia/" rel="tag"> wikipedia <span>41</span> </a> <a class="item-tag" href="/tags/recovered/" rel="tag"> recovered <span>213</span> </a> <a class="item-tag" href="/tags/google-maps-api/" rel="tag"> google-maps-api <span>4</span> </a> </p> </div> </div> <!-- #secondary --> </div> <!-- #wrapper --> <div id="ft"> <ul> <li><a href="/about/#about-site">Colophon</a></li> <li>©</li> <li><a href="/2002/">2002</a></li> <li><a href="/2003/">2003</a></li> <li><a href="/2004/">2004</a></li> <li><a href="/2005/">2005</a></li> <li><a href="/2006/">2006</a></li> <li><a href="/2007/">2007</a></li> <li><a href="/2008/">2008</a></li> <li><a href="/2009/">2009</a></li> <li><a href="/2010/">2010</a></li> <li><a href="/2011/">2011</a></li> <li><a href="/2012/">2012</a></li> <li><a href="/2013/">2013</a></li> <li><a href="/2014/">2014</a></li> <li><a href="/2015/">2015</a></li> <li><a href="/2016/">2016</a></li> <li><a href="/2017/">2017</a></li> <li><a href="/2018/">2018</a></li> <li><a href="/2019/">2019</a></li> <li><a href="/2020/">2020</a></li> <li><a href="/2021/">2021</a></li> <li><a href="/2022/">2022</a></li> <li><a href="/2023/">2023</a></li> <li><a href="/2024/">2024</a></li> </ul> </div> <script> document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('h4[id],h5[id],h6[id]').forEach(el => { const id = el.getAttribute('id'); const permalinkContext = el.closest('[data-permalink-context]'); if (permalinkContext) { const url = permalinkContext.getAttribute('data-permalink-context'); const hashLink = document.createElement('a'); hashLink.style.borderBottom = 'none'; hashLink.style.color = '#666'; hashLink.style.fontSize = '1em'; hashLink.style.opacity = 0.8; hashLink.setAttribute('href', url + '#' + id); hashLink.innerText = '#'; el.appendChild(document.createTextNode(' ')); el.appendChild(hashLink); } }); }); </script> <script type="module"> const config = [ {"tag": "lite-youtube", "js": "/static/lite-yt-embed.js", "css": "/static/lite-yt-embed.css"} ]; for (const {tag, js, css} of config) { if (document.querySelector(tag)) { if (css) { document.head.appendChild( Object.assign(document.createElement('link'), { rel: 'stylesheet', href: css }) ); } if (js) { await import(js); } } } </script> </body> </html>