This is the continuation of my journal on getting mapping to work for Global Youth Service Day in Drupal, which starts with an overview of maps and drupal, and continues with a discussion of modules, then talks about getting content into the map.
Remember back in Part II where I mentioned the Views and Panels module?
Views gives you very precise control over what shows up on new maps you can show up. Even better, use can create "arguments" that can be passed through the URL to further define what shows up. For example, I created a view whose base URL was /gysd/map/ -- if you go there, you get a listing of years to choose from (do you want to see events from GYSD 2008? GYSD 2009?) If you click on 2008, the url is now /gysd/map/2008 - and you see all the events for that year. I then created some other map options to list by country, state, and so on, so there's another path that goes like this: /gysd/map-by-location/2008/us/FL . If I cut that one off at 2008/, I'd see a listing of all the countries I had data for. If I cut it at us/ , I'd see all the regions (states) with data. You could also set a map up with zip codes, taxonomies, and so on. Drupal 6's Views2 is an order of magnitude more powerful that Views1, and alone it's a reason to upgrade to D6.
To create a map view, you have to first (after installing the views modules above, and creating a new view) select GMap View from the Page view set of options (under View Type). This enables the map functionality. I put information into the Header section to guide users in the navigation process.
It's been a while since I posted on my Drupal Mapping project, and that's partially because I've been spending some time getting a great site that aggregates and re-publishes news for the volunteer service world together at ServiceWire.org using Drupal 6, FeedAPI, Views, and some other fun tricks - you can follow it on Twitter at @ServiceWire - it posts about once an hour or so with news about volunteer service and service-learning.
Anyhow, my experience working with D6 and the newest Views module have convinced me that as long as most of the tools I need for the map are available on D6, it's time to move. So I'm rebuilding from scratch (bad luck with upgrades of recent, and I'd like to apply and cement my recently gained knowledge). Unfortunately, the Node_import module - key to a lot of the testing I want to do on the map and views - is not quite ready, so I'm waiting for that to release an update that works with Location and CCK, and in a holding pattern until then.
So now we have the basic setup and are ready to start on the map - placeholders for content, maps, and actual content, and it's time to forge ahead with improving the user experience and information architecture (at the same time, even!).
I also just came across another blog article at around the same level of detail that covers other aspects of Drupal, which I haven't touched on much here for a more articles-rich site. Check it out: http://dejitarob.wordpress.com/2007/11/26/how-i-used-drupal-to-build-ta… . Along similar lines, I stumbled across a series by IBM that gives a surprisingly clear overview of the next level in to Drupal geekery, without flooding you with information: http://www.ibm.com/developerworks/ibm/library/i-osource5/