Tuesday, August 09, 2005

Some More Progress

So here's today's trick (and today's solution): when zooming in to the map, fewer items will be showing, and these items should be bigger: the user becomes immersed in the closer location, able to really see the images, read significant amounts of text, etc.

Thanks to the finally-arrived JavaScript: The Definitive Guide, I've learned quite a bit more about objects in JavaScript and put that knowledge to good use for, so far, pictures on the map. Instances of each NItem are made for each label on the map, and handle changing the image at different zoom levels. This is where it gets difficult: changing from one image to another on a user-clicked zoom creates a long pause before the new image shows up. Even though these images aren't that big, the time gap is distracting enough to significantly detract from the experience.

The solution, of course, is to pre-load the images. This is a fairly simple, well-known technique (people use this for mouseovers a lot), though it may prove slightly more complicated here. I've chosen to always pre-load just the next zoom level. And the images are stored in the NItem object, so that pre-loading shouldn't be repeated accidentally (perhaps that coudln't happen anyway, I'm really not sure). Documentation available upon request.

So please take a look at the progress so far and let me know what you think of it so far:


Blogger Sarah said...

wow, that's really cool. One thing - I have to admit that I missed the zooming capability at first, because I didn't register that the plus and minus sign icons were zoom buttons. Maybe b/c I'm very used to the Google Maps interface w/ the bar in between.

I like being able to select the different maps, lets me situate Amherst in the wider world. For the little red tag indicators, at the zoomed-out level, is there a way to indicate not only that something is there, but what's there? or what type of media is there?

11:53 AM  

Post a Comment

<< Home