Tiles: The very first observation is – not whole map is fetched at once. Instead the entire map is divided into tiles and a series of Ajax requests are fired to retrieve some part of the actually map. As soon as a tile is fetched it is displayed at its position. Their position is well calculated no matter user drags the maps while requests are on the way. The benefit here is, the user interface remains responsive and it makes user eager to analyze an area of map as soon as it’s available.
Overlaying: The tiles can be considered basic unit of mapping applications. They are atomic and have minimal required information. The DHTML allows overlapping one tile (image) over another and makes development easier. Here is how.
For each type of data there exists an independent tile. The Ajax application retrieves these tiles and overlaps one above another. For example – the user requests to see map and satellite image together, and here is how the rendered image is showed.
Tiles are Independent: Each tile is an independent unit and its request can be customized from client browser itself. For example making a request of http://kh2.google.com/kh?n=415&v=22&hl=en&t=trtssqrtqsqqtqq returns –
This is a newer image. While the request for http://kh2.google.com/kh?n=415&v=21&hl=en&t=trtssqrtqsqqtqq yields and older image for the same area.
Ajax: Probably this needs to be the first point I should discuss. Google Maps does not use XMLHttpRequest for making Ajax calls. Instead, they have used I-FRAME (iFrame) for preloading images. When you use Firebug you won’t be also to trace any XMLHttpRequest calls. I think the reason for this would be the difficulty in using and image/jpeg response from XMLHttpRequest as an image object and display it in browser.
- My Online Presence
- Eating Exceptions… eeehhhh!