Sunday, 31 July 2011
Bing Maps Hybrid Imagery Style Generation
If you’ve examined the tile requests that Bing Maps makes using Fiddler, Firebug, or similar, you’ve probably seen that every tile request has a parameter, g, which represents the generation of the tile.
For example, the URL http://ecn.t2.tiles.virtualearth.net/tiles/h120200223312?g=671 requests the 671 generation hybrid map style (that’s the “h” prefix on the filename) tile at quadkey 120200223312. Until this morning, that would give you the following image:
However, at some point today it seems that Microsoft have decided to roll out a new generation (g=700) of map tiles, which particularly affects the hybrid (aerial + label) style. All requests made from http://www.bing.com/maps now append the g=700 parameter onto the end, so the latest version of the hybrid map tile for the above quadkey is now http://ecn.t2.tiles.virtualearth.net/tiles/h120200223312?g=700, as shown below:
Now, what if you don’t like the new “lavender” labelling style used in generation 700 tiles? No problem, you might think – surely that’s the point of versioning each tile generation… if you don’t want to upgrade then just keep on using the previous g=671. Right?
And there’s the problem. It seems that, whatever generation of tiles you request, you’ll always get the latest version, making the g parameter completely pointless. So long as g is an integer less than or equal to 700, in fact, you’ll get the same style. Here’s generation 36, for example:
And here’s generation –123456789 (yes, that’s a negative sign in front):
It’s not that I’m resistant to change. I don’t like the new lavender style, but perhaps I could grow accustomed to it. It’s not even that I’m bitter that, once again, Microsoft have rolled out a significant change to Bing Maps without any warning or announcement. But they always handle it so badly.
Right now, for example, if you go to http://www.bing.com/maps, and select the Birds’ Eye style (and keeping the “show labels” box checked), you’ll get a map made from a bizarre mixture of old and new style labelled tiles.
I thought maybe this was because my browser had cached the old tiles but, no, after completely clearing the cache and checking again – these are the mixed images being served right now as generation 700 tiles:
Ok, so this is an annoyance, and you get odd words cut off from labels at the edges of tiles, but it doesn’t actually break any features and it’s hopefully just a by-product of the MS CDN being in the middle of changing styles. However, what is broken is the fact that you can no longer display labels when showing birds’ eye mode in “angled view” mode. Since this is the default, the behaviour a user now experiences as they zoom into the map is that, at level 12, you get a map looking like this:
Zoom in one level to zoom level 13 and you get this. Dude, where’s my labels?
I’ve no idea if this is a planned change, a known bug, or whether MS are oblivious to the fact that their flagship mapping product has just undergone a significant loss of functionality . And, meanwhile, since the upgrade to generation 700 tiles is non-optional, you have to come up with workarounds for missing labels, or explain to customers why the map colour scheme now clashes with their site design.
Posted by Ivan Tasev at 13:10