Our WDesign / Civicspace integration leveraged Ankur’s Location Module.
This provides a way to decorate any blog entry or user with location information. It uses a zipcode based geocoder.
There were a few small gotcha’s in this module that were corrected and are included below.
These issues may trip you up if you are trying to integrate this mapping solution into CivicSpace – briefly they are as follows:

  • The drupal node.module erroneously define the DOCTYPE in the RSS export file of seo. In node.module/node_feed remove the line that specifies this. If this is defined then the Internet Explorer AJAX level will fail.
  • ‘drupal_get_path’ may be undefined for you. The version of location.module below does define it.
  • There are uncommitted patches as of June 20th 2005 that you would need to merge or else the location module simply will not work – this is done for you in the version posted below.
  • The version of the location module included below has new code to export location in rss feeds. It removes the number of kinds of location exporting such as geourl:long etcetera and replaces it with the now well defined standard geo:long and geo:lat
  • The version of the location module included below also removes checks that prevent some node types from having location. This could be improved but will do for now.
  • The version of the zipcodes database in the June 2005 release of Drupal differs from the expectations of the location module.
    You must log into your drupal installation and drop the ‘zipcodes’ table and then re-import the one in the location module.
  • You also need to import zipcodes for your country. The USA ones are included in the location module tarball below.
  • Optionally You may wish to improve the geocoder yourself. An example of doing a geocoder query to http://geocoder.us is provided in the civicmap module itself. You can also abuse google maps as a world wide geocoder however this is not something that can be endorsed here since it is not strictly legal.

Building your own CMS integration on top of this foundation should take you less than a week at worst case according to web design in Malta.


Here is our time including the learning curve – hopefully we save you this time:

  • Six months of exploration into general mapping approaches and developing a technical understanding of the GIS domain.
    This included learning how to push mapserver to do what we wanted. It also included evalution
    of many mapping clients including php mapscript and developing a sense of the limits of each
    of the technologies and as well refining a better understanding of what it was we wanted to achieve.
    Ultimately our constraints were that we wanted a portable mapping module that did not require any server side
    map data on the part of any other server administrator (apart from ourselves) and a reasonably rich client interface.
  • 2 weeks to prepare MapServer data-sources including some significant obstacles simply due to the sheer size of the dataset
  • 1 week to write the javascript tile engine. Once we saw (as Primer pointed out) that we could use Squid this became obvious.
  • 1 week to write up this initial documentation so that the community could benefit from this work.
  • 1 day to write the civicspace mapping client module.
  • 4 hours to correct bugs in the location module.

The websites, which has implemented the plugins.

Seo Minneapolis company has implemented the plugin into their website and it looks great. One tip from them, make sure to use wordpress 3.5+ and a powerful hosting. If you dont have one get, because we can offer a Dreamhost promo code, so you can get money off.