Take Control of Your Maps

by Paul Smith

30 Reader Comments

Back to the Article
  1. This is a great read! I always hated having to embed that awful Google iframe in my sites. You’d think that with Google’s great development they would be able to clean up their front end and use some more semantic code Good stuff, thanks Paul. my2cents
    Copy & paste the code below to embed this comment.
  2. It’s good to read forward thinking articles like this on ALA. Hearing requests for embedded maps in sites we develop is more and more common, and while I’m no Google fanboi it’s difficult to argue with how advanced and useful the maps API is. The look of the Google map tiles never seems to fit in easily with the look and feel of the sites we try and embed it into, so there’s a lot for us to take away from this article. This is a great area of web development to publicise, the integration of information between services - it’s where the web can really excel at providing more information, more usefully.
    Copy & paste the code below to embed this comment.
  3. Thanks very much for this well-written primer on shifting dependence from external services. I’ve used Google and Yahoo! maps for quite some time, and never felt comfortable with that relationship. I’ve also had non-profit organizations who had qualms with the idea of tying themselves into corporations, but never had a clear idea of how to avoid it. Now, I have a much better understanding of the architecture involved, and will absolutely try to utilize opensource map-rendering tools in future projects. Thanks much!
    Copy & paste the code below to embed this comment.
  4. Thank you - for both pointing the way toward full independence, but also providing links to tools that ease the transition. Mapstraction, in particular, will be worth its weight in gold for two of my clients. Much obliged, good sir.
    Copy & paste the code below to embed this comment.
  5. Great article. I’m interested in thoughts about Google’s refusal to allow 3rd-party Flash-based toolkits to access their service. You can read more about this on my “blog”:http://pelz-sherman.net/blog/?p=64 . Thanks!
    Copy & paste the code below to embed this comment.
  6. Excellent work, Paul. This is an area of great interest to many of our clients, but one we haven’t explored much outside of Google/Yahoo APIs. You’ve offered a nice array of alternatives to the lot. Cheers!
    Copy & paste the code below to embed this comment.
  7. I use this same mapping stack on my site:   “By Land and Sea”:http://www.bylandandsea.org/map/ I’ve submitted some patches back to Mapnik, OpenLayers, and TileCache (mostly to do with FreeBSD support). I’ve been trying to figure out a better ingest/update process as my dataset grows as I travel; I’m keeping track of my routes as I motorcycle the world. Great article and well-researched.
    Copy & paste the code below to embed this comment.
  8. Oops, apparently the textile support doesn’t work as advertised. The link is: http://www.bylandandsea.org/map/
    Copy & paste the code below to embed this comment.
  9. Although I’m anxious to tackle a custom mapping application for a new project, I’m not sure whether or not I’ve crossed the line of actually needing to do it. My intentions would be purely visual, but I don’t think that’s enough reason to toss out Google Maps and go it alone. EveryBlock’s maps are great. And they’re obviously necessary seeing the different ways you visually represent certain data. I have a sneaking suspicion that we are going to see more custom maps across the Internet, and maybe only 5% will be necessary, or worth the effort. I think someone, somewhere, sometime soon, is going to provide this Mapping Stack out of the box, with hooks to easily set up scales, colors, layers, sources, etc. It might even come hosted, like Google Maps. Until then, I think I’m going to settle with Google Maps and wait for the day when it is more practical, affordable, and accessible to go the custom route for front-end, designer types like myself.
    Copy & paste the code below to embed this comment.
  10. .. although, now that I’ve played around a bit more, it doesn’t seem too difficult to get going. The open source tools are really quite excellent. I might take it on, if only for the experience.
    Copy & paste the code below to embed this comment.
  11. Just wondering if you’re aware of a good source of mapnik documentation.  I’ve been attempting to user it recently, however beyond a really basic tutorial their website seems to lack any guidance.
    Copy & paste the code below to embed this comment.
  12. Good article, although I would say that “Google Map fatigue” is really a designer/developer issue, not so much a user issue. Your average user will see way fewer Google maps then your average designer/developer/web geek. Users don’t mind getting a familiar map, well layed-out, readable, and easy to use because they can manipulate it in the same way as those maps they’ve used on other sites. How bad can that be, really?
    Copy & paste the code below to embed this comment.
  13. @Colin Williams: You bring up a good point; rolling a custom map stack is not for everyone. It’s a large infrastructure piece that presents its own set of challenges and maintenance demands. My argument is merely that it is now an option that merits serious review. The tools are there, and the data is out there.
    Copy & paste the code below to embed this comment.
  14. @Mike O’Toole: Mapnik documentation is lacking, to say the least, and I’m sure the core developers would freely admit as much. If you’re brave, the way I learned was to write a bunch of test scripts, read the demo source, and the sources of the app itself, especially the Python bindings.
    Copy & paste the code below to embed this comment.
  15. @Bob Zhorunkle: That’s a fair point. I think Google has done an impressive job with the design of their tiles. Perhaps it’s better to say that, if you had the option, as a designer, to bring your map tiles in line style-wise with the rest of your site, wouldn’t that be an attractive option?
    Copy & paste the code below to embed this comment.
  16. @Mike O’Toole: Oh, and join the Mapnik users listserv, the developers are friendly and responsive.
    Copy & paste the code below to embed this comment.
  17. <blatant product pitch>
    Hey Paul - nice article outling some of the best open source options. For another commercial option, both hosted and self hosting - you should look at deCarta. We have both a javascript and XML over HTTP api. Our devZone, with free transactions, is available from developer.decarta.com. You might see us powering sites such as Zillow, hotels.com, loopt, telenav, and Ask maps. We used to be Yahoo and Google until they decided to bring it in house. For those of you without the engineering staff or market cap of those tiny little internet players - you might want to use the same technology they got popular using.
    Not right for everyone but I just thought your readers should know about it.
    Thanks
    Steve Citron-Pousty
    deCarta developer evangelist
    Copy & paste the code below to embed this comment.
  18. The deCarta service sounded promising, until I spent about 2 minutes on the Web site. It’s a bit—no, it is totally—unclear as to how to use the service, or even how to get started. And, no, the “Getting Started” section was actually quite useless. I still feel a more plug-n-play, a la Google Maps, is right around the corner, built atop these open-source tools. Like, I’m thinking: Drop this into a cgi-bin, include this JS file, update this config file, and your up and running. The rest is a bit of CSS and some JS tweaking. These services are close, but not quite there, at least not as a whole package.
    Copy & paste the code below to embed this comment.
  19. Hey Colin - thanks for the feedback - if you have a sec can you please drop me a line @ scitronpousty email decarta dot com.
    Are you suggesting something like a guide for the impatient.
    1. Sign up for the developer zone
    2. Go to the javascript api page and look at the live examples
    3. Download the JS package
    4. update the CONFIG.JS with your username and password
    5. Write a web page with the JS calls
    6. Become rich and famous I don’t want to keep going here with more discussion - I will write a quick blog post (linked from my name) so discussion can move away from here (if more people want to comment). Thanks…
    Copy & paste the code below to embed this comment.
  20. Good article, thanks for it. I must admit that when I wanted to use a map in the past, I never thought about using a different solution than Google Maps. But you are right. There are other possibilities available, and some are even better to handle.
    Copy & paste the code below to embed this comment.
  21. I have always been one of those that just accepted what Google gave me, I had no idea you could change the maps around so much for a better look for our own websites. Thanks for all the great tips and ideas and I look forward to reading more of them in coming posts.
    Copy & paste the code below to embed this comment.
  22. My company has successfully been using GeoServer - with styled layer descriptors for thematic mapping (i.e. coloring area polygons according to a value - e.g. average income). A demo can be found here:http://preview.tinyurl.com/6zayys (the Norwegian Public Health Institute statistics site). While this article - and the discussed solutions/APIs - seem to focus on streets/navigation/point data, I haven’t found much information on thematic mapping via Javascript. If anyone have any insight in using Javascript or other lightweight solutions for thematic mapping - please share, because even though we are highly satisfied with the GeoServer wms/sld-solution, we would like to consider even more lightweight solutions for this functionality.
    Copy & paste the code below to embed this comment.
  23. Hi, My friend and I want to make our own online map. But we have a problem about getting the background image for our map.
    We use GeoServer as our third stack defined in your article. And we also use shapefile as our geospatial data. But, is it already include the background image? Or do we need to use google or yahoo service to provide us with the image map? Please help us. Thank you
    Copy & paste the code below to embed this comment.
  24. Thanks for a well-written article. Very informative and easy to read. We are conceptualizing an application that will involve map and spatial data. This is a great read. We might be tied with the maps API at the beginning, but it’s good to know alternatives.
    Copy & paste the code below to embed this comment.
  25. I started playing with Mapstraction (http://www.mapstraction.com/) a couple of weeks ago.  Basically, it’s a library that provides you with the ability to shift mapping providers by abstracting common calls within the various mapping javascript libraries.  It supports a wide array of map providers, including google maps, but it does have a ways to go in order to support some of the more robust features. I also recently downloaded Processing (http://processing.org/).  While it’s more of a data visualization tool than a mapping library, it does provide a fairly quick turnaround time from concept to prototype. I’ve looked at other solutions over the years, including pulling data from Tiger, but the one fundamental issue that seems to creep up is that you have to use the right tool for the job.  Sometimes development speed is the primary issue.  Sometimes it’s look and feel.  Sometimes it’s compatibility with a data set.  Sometimes a desired end user interaction is the most important thing. The more webmasters support a variety of solutions, and the more they support OSS, the better all of the solutions (commercial and open source) will become.  If you can’t contribute code to open source, you can certainly contribute ideas, bug reports, enhancement requests, money, or resources.  Or at the very least a mention of the project and a link for your audience to follow.
    Copy & paste the code below to embed this comment.
  26. I just want to say thanks! I’ve played around with Google Maps, but never done any serious map based development - but have plans for some in the future. I was planning to just use Google Maps for that, but now you’ve given me something to think about. I’m a big supporter of open source, but didn’t know there were any open source options for maps. Thanks.
    Copy & paste the code below to embed this comment.
  27. I think this is a well written article and give to people a good idea about how things at the geographic information domain works but I also think that something very important like the role of OGC standards was missed. With those standards million people can now share geographic information and also can integrate their own applications and data with others complete different applications and sources of information in a consistent way. The OGC standards are easy to implement and anybody can develop for a very simple to very complex applications. I also think this article have to be completed with the description of the role of geographic searching engines based on metadata or geographic feature names systems (gazetteer).
    Copy & paste the code below to embed this comment.
  28. Another great mapping resource is “Geocommons”:http://geocommons.com It has a lot of public geographic data that you can export as kml, or shapefiles.
    Copy & paste the code below to embed this comment.
  29. I would love some advice about creating a funky yet user friendly map for my neighborhood business owners website www.gocebo.com, any one interested in a free ad for trade?
    Copy & paste the code below to embed this comment.
  30. Your article has helped me get my head around GIS map stack.
    Copy & paste the code below to embed this comment.