Simple and effective: As soon as a map has a Google layer, the whole map viewport is added as control to the GMap. As soon as no Google layer is visible on the map any more, the map viewport is appended to the map container again. With this change, OpenLayers strictly limits its GMaps integration to the GMaps API.
Also note that there are no css overrides for the attribution any more. Instead, controls can now be conditionally positioned differently for Google layer by using the .olForeignContainer selector.
Move the changelayer event firing logic for in / out of resolution range
from the Map class to the Layer class. Tests have been also been created
to specifically test that the display method works correctly and fires
events only when needed.
If a map is configured with a permalink control and a center, the permalink control tries to work with the map center before setCenter is called. This sequence assumes that the map center will already be a LonLat. This fails if the map is constructed with a coordinate array. Safer move is to convert center to LonLat before controls are added.
When the list of event types became unconstrained in 501b42228a, we lost the documentation for events that are triggered. This change adds the list of events triggered to the API docs for events properties.
This allows us to simplify the map and layer configuration, because now the projection also defines defaults for maxExtent, maxResolution and units.
This change also adds transforms for SRS aliases for EPSG:4326 and centralizes axis order information in OpenLayers.Projection.defaults.
The new base layer may previously have been out of range, in which case setVisibility(true) would do nothing if the layer was visible already. So we check if it was previously out of range, and redraw it if necessary.
This change involves removal of the map's eventsDiv and introduces an OpenLayers.Events.buttonclick component that adds a buttonclick event which makes sure that only events that are not related to clicking a button propagate. This allows button controls to be on the map's viewPortDiv again.
'viewPortPx' parameter for OpenLayers.Layer.getLonLatFromViewPortPx
can be either a Pixel or a simple javascript object. 'lonlat'
parameter for OpenLayers.Layer.getViewPortPxFromLonLat can be either a
LonLat or a simple javascript object.
'px' parameter for OpenLayers.Map.getLonLatFromViewPortPx and
OpenLayers.Map.getLonLatFromPixel can be either a Pixel or a simple
javascript object.