Map Scripting 101

Author: Adam DuVander
Publisher: No Starch Press, 2010
Pages: 376
ISBN: 978-1593272715
Aimed at: Anyone wanting to program maps/GIS
Rating: 4.5
Pros: Very comprehensive, particuarly for MapAbstraction
Cons: Some topics, including Google Earth omitted
Reviewed by: Harry Fairhead

This isn't map scripting 101, not because it doesn't start simple enough but because it is very comprehensive.

It starts off telling you about the basics of mapping - map co-ordinates and so on. Then it moves on to tell you about using a mapping service - Google then Yahoo! - next it shows you how to do the same job with MapAbstration.

 

If you haven't heard of MapAbstraction it is a Javascript library that irons out the differences between map APIs so that you can write a map application that works with all of them. Of course this isn't perfect but as long as you just want to do the basic mapping tasks it does work.


Banner

 

By the end of Chapter 1 you have more or less covered what most would consider to be mapping 101. Chapter 2 starts to deal with slightly more specialized topics such as markers and annotations. Chapter 3 jumps to geocoding and Chapter 4 returns to core mapping takes with a look at layers. Chapter 5 explains how to interact with user events. and it is really the last chapter that could be considered to be part of an introduction.

Chapters 6 and 7 tackle proximity and user location respectively and both are fairly tricky and rapidly evolving topics with new web services and facilities being made available. Chapter 8 deals with data formats and KML as well as GeoRSS and POX are all introduced along with a more general discussion of JSON and XML. Yahoo Pipes also makes an appearance and the author seems to have a liking for this particular method of processing data - I can see the attraction.

Chapter 9 deals with server side processing and even has an introduction to PHP! The closing chapter 10 puts it all together with some sample mashup projects.

Over all this is a good book. It's very enjoyable and the author is clearly enthusiastic and knowledgeable about the subject. It is suitable for a beginner but you do need to know enough Javascript - there is an introduction included as an appendix - and not be worried about a little raw HTML.

Despite the book ranging over such a wide area there are missing topics. There is nothing on using Flash or Silverlight map access controls and not a great deal on specifically mobile applications. It also doesn't tackle hardware or interfacing with hardware. How you get your GPS data out of the GPS is your problem. It also doesn't deal with the many specific features offered by particular map servers - Google's  street view, Bing's 3D etc and it certainly doesn't cover Google Earth with its amazing range of features.

However if you are basing your work on Mapstraction then you have to omit the specifics of individual mapping facilities.

These omissions don't  make the book significantly less useful, however, and adding them would have made it too big and unfocused. This isn't a 101 course but a complete tour of the subject.The main thing to say is that you shouldn't buy it if what you really want is a book on a specific API like Google Earth, Maps or Bing.

Highly recommended even if it leaves out some interesting mapping topics.


Banner


DevOps For The Desperate

Author: Bradley Smith
Publisher: No Starch
Pages: 176
ISBN: 978-1718502482
Print: 1718502486
Kindle: B09M82VY43
Audience: Developers working in DevOps
Rating: 4.5
Reviewer: Kay Ewbank

Subtitled 'A hands-on survival guide, this book aims to provide software engineers and developers with the basi [ ... ]



Python Crash Course, 3rd Ed (No Starch Press)

Author: Eric Matthes
Publisher: No Starch Press
Pages: 552
ISBN: 978-1718502703
Print: 1718502702
Kindle: B09WJX22TV
Audience: People wanting to learn Python
Level: Introductory/Intermediate
Audience: Not the complete beginner
Rating: 4
Reviewer: Alex Armstrong
To reach a third edition this [ ... ]


More Reviews

Last Updated ( Friday, 24 September 2010 )