12345678910111213141516171819202122232425262728293031323334 |
- Current for 6.x-2.0-alpha3
- The OpenLayers module aims to add minimal abstraction in Javascript to what is
- already provided by the [OpenLayers](http://openlayers.org/) Javascript library.
- However, it does create certain structures that may not be immediately obvious.
- # Data Storage
- The module stores all settings initially under Drupal.settings.openlayers. It
- does this in a slightly modified way if your server supports native JSON writing
- - this basically means that, instead of using Drupal to encode the settings
- array, it uses a PHP extension (written in C). This greatly increases
- performance for displaying many points on maps.
- # Keeping Track of Maps
- The OpenLayers map object, which contains pointers to all layers, etc., is
- stored with the [jQuery data() method](http://api.jquery.com/jQuery.data/),
- which provides the phenomenal convenience of storing arbitrary data within the
- DOM itself. This means that the map object is attached to the openlayers-map-0,
- or so on, div element in your page. So, to access it, one could use a line like
- $('#openlayers-map-0').data('openlayers')
- In FireBug, Safari, or Chrome.
- Note that the 2.x branch strives to not duplicate map information: it exists in
- the Drupal settings array and then is transformed into a map object, but after
- that point, the canonical location for data about maps is in the map object.
- This is for purposes of both flexibility, since the map object lets developers
- access objects by better getter methods, and for the purpose of keeping
- OpenLayers behaviors and layer initialization code less tied to Drupal than
- before.
|