Paul Smith’s thoughts about maps.

List Apart have a good article up for people looking to move beyond just-throwing-a-Google-Map-onto-a-webpage. The general gist is summed up well here …

“The result is Google Maps fatigue. We’ve all experienced it. It manifests not only when we yawn at YAGMM (Yet Another Google Maps Mashup), because there are high-quality web apps deploying the Google Maps API seamlessly and with great success. Despite this, and despite the fact that Google itself continues to refine and improve the base application, the fatigue remains.”

(Obviously this is not just a Google thing and applies to any insta-embed-a-map-a-tron. You may think that “insta-embed-a-map-a-tron” is a made up word, but it’s totally not as it’s in Wikipedia so must be true. Well true until they delete it anyway.)

Paul’s talking mainly about the aesthetic considerations … why when you’ve put so much time and effort on making your site look good and unique do you allow a great big chunk of Google/Yahoo/Microsoft branded real estate onto it … but by also talking about rolling your own Map Server it means that hopefully we’ll start to see maps having greater integration with the site they are sitting in.

I know that sounds odd, because you can already do a lot with the various mapping APIs around, but they still tend to dictate how the mapping-app is developed because of the API methods allowed. I sometimes find myself digging around in private methods of various APIs to get the map to do just the very thing I want. But, if I could roll my own, and really knew what I wanted to do before I started (always a good thing) then building it in bottom-up would allow me to do ‘new-things’.

However, I doubt we’ll see too many people taking up that challenge particularly soon.

However (because I’m in a howevering mood) two of the ingredients are certainly worth poking around with even if you have no plans to roll your own mappy thing.

1: TileCache …

A List Apart_ Articles_ Take Control of Your Maps.jpg

… from where you serve tiles. Pointing to some alternative tiles is particularly easy, I used this bit of code the other day (Yahoo!) …

YMapConfig.tileReg=['http://xxx.xxx.maps.yimg.com/png?t=m&','http://xxx.xxx.maps.yimg.com/png?t=m&'];

… to test some new tiles that had just been rendered in some far distant land. They looked lovely and lined up just right btw.

It’s unlikely you’re going to want to render out all tiles, but using off the shelf mapping APIs it’s really easy to limit the maps zoom range and bounding box limit. So if you wanted your site to be about a specific area, with it’s own look and feel, then you can still do that relatively painlessly. Paul points to TileCache in the article as a starting point for those looking to serve their own tiles (including from S3, etc.)

Then, you have to make your tiles …

2: Making Tiles.

Well, you can draw them by hand (which isn’t as dumb as it sounds btw). Or a good source, if they have it covered is my old favorite Open Street Map (OSM), which contrary to my previous post we do need (and if they don’t have it covered, then you should cover it).

The great thing about using OSM is that when it comes to rendering the tiles you can pick your own colour scheme, which instantly separates it from the “insta-embed-a-map-a-tron” (is a real word) maps.

Fact 1: Rending your own tiles from OSM is pretty hardcore … here are links …

OsmaRender
A rule-based rendering tool for generating SVG images of OSM data.
Mapnik
An Open Source map renderer which we use to render the main Slippy Map layer for OSM.
Kosmos
A lightweight OSM map rendering platform developed by Igor Brejc
Making the nestoria tiles.
A page detailing how OpenStreetMap was integrated into Nestoria, the first commercial use of OSM maps

Fact 2: It’ll probably be quite hard and throw up a bunch of wtf? questions. If you solve them, or find simpler ways of doing it, then it’ll help lots of other people. Which is a good thing.

Anyway, this was just supposed to be pointing to the article in a [This Is Good] way, but of course I have DVD-Extras syndrome, so you have my above ramblings.

Andrew said it better, which is where this is [via].

One Response to “Paul Smith’s thoughts about maps.”

  1. Enjoyed your post, Dan. You raise a good point: tinkering with the map stack can also be about replacing just certain layers where that suits you. I think my article can could come across as advocating for an all-or-nothing approach, but with the existing APIs, abstractions like Mapstraction, and the various renderers, you can certainly pick-and-choose what you want to do yourself and what you want to farm out.

Leave a Reply