Dealing with the scale problem
The preceding illustration reveals a second problem with the DISTAL system: because the USA including Alaska is over 4,000 miles wide, accurately selecting a 10-mile search radius by clicking on a point on this map would be an exercise in frustration.
To solve this problem, we will implement a zoom feature so that the user can click more accurately on the desired starting point. Because the DISTAL system is implemented as a series of CGI scripts, our zoom feature is going to be rather basic: if the user holds down the Shift key while clicking, we zoom in on the clicked-on point. If the Shift key is not held down when the user clicks, we proceed with the search as usual.
Note
In a real web application, we would implement a complete slippy map interface that supports click-and-drag as well as on-screen controls to zoom both in and out. Doing this is way beyond what we can do with simple CGI scripts, however. We will return to the topic of slippy maps in Chapter...