OpenLayers
The Drupal OpenLayers project creates a set of modules that integrates the OpenLayers JS library with Drupal. It provides a set of features and functionality that allow users to create dynamic and unique looking maps on their site.
Why OpenLayers?
OpenLayers provides the code flexibility of open source, and the extensibility of being able to handle a huge amount of GIS data formats. OpenLayers also excels at providing an input for geospatial features.
Features & Submodules
- OpenLayers
- The OpenLayers core code stores map configurations - "presets", styles, layers, and behaviors, and combines them to create maps using the OpenLayers javascript library on any Drupal site.
- Layers
- OpenLayers supports a wide range of map types and new types can easily be added as ctools exportables - new layer types are being added all the time. Currently the module supports OpenStreetMap, Google Maps, Yahoo Maps, Virtual Earth, TMS, WMS, CloudMade, and XYZ map types, and the MapBox module adds support for MapBox maps.
- Behaviors
- Map interactions like popups, zoom controls, editing, and fullscreen can be added via the UI and extended by other modules.
- OpenLayers UI
- This module allows for a user interface to create and store map presets which can be used to customize all sorts of things like CCK Formatters to Views Plugins. Presets can be provided by code or stored in the database and integrated with Features.
- OpenLayers Views
- The Views module is the preferred system of putting an OpenLayers map on a page: two types are provided - OpenLayers Data and OpenLayers Map, so that a single map can contain multiple node types and views.
- OpenLayers CCK
- OpenLayers CCK adds an OpenLayers map and a simple OpenLayers WKT field type for storing complex geodata like points, lines, and polygons.
- OpenLayers Filters
- Provide a simple filter to allow for inline maps in content areas. By using a syntax similar to
[openlayers preset_name], a map can be rendered in content. - 1.x is the first major version of the Drupal OpenLayers module and is mostly stable. See #432642: Development for 6-1.x for general development discussion and roadmap.
- 0.x versions are included in the Managing News profile and include many of the improvements slated for 2.x, but 0.x is not currently intended for end-users.
- The 2.x branch is the maturation of 0.x features and is an alpha-level release.
- OpenLayers Geocoder - This module extends OpenLayers CCK input widget allowing to mark a location on the map by simply providing its address.
- Geo Taxonomy - Attaches geo information (latitude, longitude, bounding boxes, etc.) to taxonomy terms. Provides Views integration.
- Geolocator - Geolocator is an add-on behavior for the OpenLayers module. It uses work from the camptocamp project funded by the UN to enable HTML5 and Google Gears geolocation (via IP and other factors).
- Spatial Tools - Provides shapefile widget for openlayers cck fields. Also provides for creation of layers from database tables (ie. geo data tables).
- MapBox - Provides a configurable MapBox layer type and the ability to quickly add attribution for OpenStreetMap data.
- This module has taken some great ideas from modules such as GMap, ImageCache, Views, and Mapstraction.
- The developers and patch-providers have worked very hard to make this module what it is.
- Some sponsorship provided by Trellon, Geomemes, Echo Ditto, and Development Seed.
Documentation
The main Drupal Handbook OpenLayers holds supplemental documentation that is not in the module provided by the Advanced Help module which houses the majority of basic documentation for this module. Please feel free to contribute to it and add your own pages and recipes.
RoadMap & Current State
Upgrading
The recommended version of OpenLayers for new users is 2.x: because of thorough API improvements, manual upgrading is recommended for those who want to upgrade from 0.x or 1.x. More info when 2.x stablizes more.
