Book Review : Beginning Google Maps Applications with PHP and Ajax

September 12, 2006
Ask me what is one of the most useful feature on the net which will remain popular for times immemorial, come what may, and I will without an iota of doubt tell you that it is maps. That is right, maps were used in the bygone era to navigate from one place to another and maps are still relied upon in these modern times for charting out ones journeys. So it is no surprise that with the dawn of the Internet, the maps got transferred from the physical to the electronic medium. One of the most exciting projects which makes use of maps is the Google's Keyhole project now known commonly as Google Maps. What is unique about Google maps is that it mashes up satellite telemetric data with the maps and displays it in a web browser allowing a wide degree of user interaction. What is more, Google has released the Google maps API library to the public so that anybody can use it to create custom maps and display them online in a visually persuasive way.

A one of a kind book I have come across in recent times is the Google Maps Applications with PHP and Ajax from Novice to Professional co-authored by Michael Purvis, Jeffrey Sambells and Cameron Turner, published by APress.

This book is divided into 4 parts spanning 360 pages. The first part of this book deals with giving the readers an introduction to Google Maps. Here the authors explain in a clear manner what makes the Google Maps tick. In particular we get an idea about the special markup language used by Google Maps called the Keyhole markup language (KML). This part is divided into 4 chapters and each concept behind Google maps is explained using real life examples which makes the narration all the more interesting. For example, in the second chapter titled "Getting Started", the authors give a step-by-step example of creating a basic Google map and then using markers to tag the places in the map. Going through the example, I felt some understanding of JavaScript language is essential as Google maps makes extensive use of JavaScript to bring usability to the project. But the way in which the examples are interlinked with the explanation makes it all the more easier to follow.

In the third chapter titled "Interacting with the user and server", one gets to work on a simple example of creating a geocaching map and writing code to create an information window which allows an end user of the map to insert additional information and markers throughout the map. This example also introduces the user to the Google Ajax Object which plays an important part in saving and retrieving data from the server.

Geocoding is the process of converting the land addresses to the precise latitude and longitude of Earth. The fourth chapter titled "Geocoding Addresses" takes an indepth look in this area.

What I really like about this book is instead of jumping into a theoretical discourse, the reader is actually made to work on an example which highlights the concept being covered, which in-turn imparts value to the narration.

The second part titled "Beyond the Basics" contains 4 chapters and each of them explains how to improve various aspects of the map. In particular, chapter 5 deals with an example of using the relevant data in the US Federal Communication Commission Antenna Structure Registration database to incorporate it in the map that is being build. Here one is introduced to coding using PHP to retrieve the relevant data from the database. In fact this particular example spans the next two chapters to provide the readers a start to finish project of building a map and then beautifying it.

Chapter 6 titled "Improving the user interface" jumps into using CSS and javascript to make the user experience as pleasant as possible. Such tricks as creating collapsible side panels and then populating the panels with data is dealt with here.

But what does one do when the data that is to be mapped is really huge ? It is not possible / feasible to map all the data using separate objects for each individual entity. Doing so will most probably bring the web browser which is used to render the map to a halt. So it is imperative that when dealing with large amounts of data which runs to tens and thousands of points on the map, alternate methods have to be pursued. The seventh chapter titled "Optimizing and Scaling for Large Data Sets" presents a variety of methods for working with large data sets without bringing the web browser to a halt.

The next part of the book titled "Advanced Map Features and Methods" contain 3 chapters, the first of which titled "Advanced Tips and Tricks" contains over 6 tips/tweaks from creating a custom info window to creating custom controls and more.

The next two chapters in the third part of the book takes a mathematical bent and deals with such concepts as computing the area and perimeter of an arbitrary region or calculating the angles on the earth's surface, pursuing geo-coding concept in depth and so on.

Finally, there are two very useful appendices, one of which lists additional online resources which one can use to learn more about this very interesting topic.The other appendix lists the entire Google Maps API.

Book Specification
Name : Beginning Google Maps Applications with PHP and Ajax from Novice to Professional
ISBN No: 1-59059-707-9
Authors : Michael Purvis, Jeffrey Sambells & Cameron Turner
Publisher : APress
Price : Check at Amazon.com Store
No of Pages : 360
Rating : Very Good

End Note
It is not everyday that one encounters a book which explains such a specialized but very useful subject as creating online maps. I found it a really indepth book covering all the concepts related to implementing Google Maps at the same time with all the stress given to a practical approach. Going through the book, I felt the authors have really done their homework in the art of creating user interactive online maps using Google Maps API.

1 comments:

  • Cameron Turner

    Thanks Ravi! What an excellent review of our book. If your readers are interested in more information or some sample chapters they can visit our official site at http://GoogleMapsBook.com.

    Thanks!
    Cameron Turner