Drupal Association members fund grants that make connections all over the world.
I'm completely new to this awesome module and have been having some teething problems. I'm using the latest 7.x-2.x branch from git along with other modules (as per http://tinyurl.com/cj5c2c9 ) - This includes ol_locator and geofield modules.
When I create a content type with a geofield in it and set the display of that field to OpenLayers I get a blank panel with the settings icon in the top right corner. If I choose edit I get the error "Exception: Projection 900913 requested but not supported in openlayers_get_projection_by_identifier() (line 967 of /var/www/drupal7/htdocs/sites/default/modules/contrib/openlayers/openlayers.module).)
I then discovered that I got the same error by clicking the 'edit' option against any of the maps under admin/structure/openlayers/maps
I took a backtrace at that point and saw that getProjections() was calling openlayers_get_projection_by_identifier($projection);
Dumping out '$this' inside the getProjections() functions I spotted that the first requested layer ( openlayers_layer_type_google ) had a projection of 'EPSG:4326' and succeeded while the next one ( openlayers_layer_type_raw / name: geofield_formatter ) just had a projection of '900913' .
Once I'd overridden the geofield_formater under the layers menu, so that it used projection == 'EPSG:900913' , I could then use the edit link on all maps under admin/structure/openlayers/maps - However I still got the same blank panel for my content and the same error when attempting to edit it.
I've looked through my various modules and I found that openlayers/docs/RAW_LAYERS.txt includes examples where projection is set to just '900913'. Both geofields and ol_locator have such definitions in them:
./openlayers/docs/RAW_LAYERS.txt: 'projection' => array('900913'),
./ol_locator/ol_locator.openlayers_maps.inc:80: 'projection' => '900913',
./ol_locator/ol_locator.openlayers_maps.inc:164: 'projection' => '900913',
./geofield/geofield.openlayers.inc:80: 'projection' => '900913',
./geofield/geofield.openlayers.inc:156: 'projection' => '900913',
./geofield/geofield.openlayers.inc:203: 'projection' => array('900913'),
As the above modules appear to be based on an example from the openlayers module (perhaps outdated, but the API version appears to still be 1) - I'm wondering if there are other modules out there which will break for similar reasons.
I know absolutely nothing about Projections, in fact I only learnt what they were when researching the bug, but given that all the many default projections in openlayers have 'EPSG' as the projection authority, I wonder if perhaps it is safe to assume that if the authority isn't explicitly set, then it should default to 'EPSG' ??
I've added a one-liner to this which sets the authority to EPSG if the projection is purely numeric and I'll attach a patch to this bug shortly.
I've still got a completely blank panel for a map on my 'Location' content with a geofield (Setting the display to 'Geofield Map' gives me a correct google maps display).