Widget CCK

Mapstraction CCK is a module which allows users to georreference contents. It provides an intuitive map Widget based on the Geo module. It also provides a map output formatter for points, lines and polygons.
Mapstraction CCK integrates Mapstraction into Drupal, making possible add a map as a CCK field. When a user creates new content, he can edit the map, changing the map provider adding points, lines or polygons, etc.

IDELab Mapstraction

Mapstraction is a library that provides a common API for various javascript mapping APIs to enable switching from one to another as smoothly as possible. Developers can code their applications once, and then easily switch mapping provider based on project needs, terms and conditions, and new functionality.
IDELab MapstractionInteractive is an extension for Mapstraction that improves the original Mapstraction functionality, and now, users can add,edit or delete features in a Mapstraction map.

All in one Map Widget

With the Mapstraction CCK module, users can use totally configurable maps to georreference contents. Mapstraction CCK allows to configure all this parameters:

  • Map Provider: User can choose between some map providers like Google Maps, Yahoo! Maps, Bing Maps, etc.
  • Widget size: The map widget size is determinated by the user.
  • Features appearance: User can choose the icon for markers, the lines width and color,etc.

New Blocks

Therefore Mapstraction CCK provides two extra blocks with geographic information:

  • Page Geometries: To show in a single map a summary of all the geometries associated to the page nodes.
  • Proximity filter: To show in a table links to the nearest nodes to the page contents.

Third party modules integration

Mapstraction CCK offers three different hooks that allow to third party modules the integration with Mapstraction CCK. These hooks provide access to any map before rendering. Maps can be modified or new events can be added smoothly respecting the map workflow. You can find more documentation about this feature in the documentation page.


Mapstraction CCK module will provide some submodules to extend his functionality for now:

  • Mapstraction CCK Inline: This submodule allows user to include Mapstraction maps with the node geographic info embedded in the node's body. You can customize your map using these parameters:
    • field:You can select comma separated the fields you want to show in the map.
    • features:You can display a list of custom features described in WKT format.
    • provider:You can select the map provider.
    • georss:You can show in the map results from a GeoRSS feed.

    For example:[mapstraction field=geo features={POINT(0 0); POINT(1 1); LINESTRING(0 0 , 10 10)} georss=http://developer.yahoo.com/maps/sample.xml provider=google] Will show a map using Google Maps as provider with geometries from field geo, the features included in WKT format and geometries from the feed http://developer.yahoo.com/maps/sample.xml

  • Mapstraction Views: This submodule implements the Mapstraction CCK module integration with Views . Now you can select the Mapstraction Map style and show geographic information in a Mapstraction map. This submodule is based on the implementation of the Mapstraction module. This is a very basic version of the module that will be improved through your comments and suggestions.
  • Mapstraction CCK Geocoder: This submodule provides an useful field that offers a geocoding service to center the map at a specific location. You can attach this field easily to Mapstraction CCK module maps or Mapstraction Views module maps. You can select locations with ease thanks to an autocomplete filed similar to the OpenLayers Geocoder module field.
  • Mapstraction CCK IP:This submodule provides the integration between the Smart IP module and Mapstraction CCK, allowing to center maps or include geotags in the web user location, retrieved from his IP.

Module requirements

This module works with the latest stable version of the Geo module.For a suitable module behavior, is needed to use the alpha5 Geo module version, including the patch proposed in:#640492: hook_gis_input info() and widgets issues .
This module is optimized for PostGIS database, and the Proximity filter is only available on this Database server and on a special beta distribution of MySQL Spatial server. You can try this distribution here.


This module is being developed and maintained by Pablo López and Eduardo Riesco, from the IDELab group at the University of Valladolid, Spain


This project has been made possible by the generous support of:

Project Information