OpenLayers 2.7 Release Notes

= !OpenLayers 2.7 Release Notes =

As of 2.7-RC1, the OpenLayers 2.7 release closes 183 outstanding tickets.

 * Release wiki: [wiki:Release/2.7]
 * Milestone: [milestone:"2.7 Release" 2.7 Release]
 * [query:?status=closed&group=component&resolution=fixed&milestone=2.7+Release&order=status Resolved Tickets]

Major features of this new release are:
 * Vector-Behavior (Strategies, Protocols, Filters, etc)
 * Improved Vector rendering for better performance
 * Canvas rendering class
 * Z-Ordering and Y-Ordering for Vector layers
 * New !OpenLayers.Request interface for AJAX
 * Smarter Popups

... and tons of other new features and bug fixes are all listed below.

== New features ==

 * New XMLHTTPRequest interface: !OpenLayers.Request makes doing all the AJAX calls (GET,POST,PUT,DELETE,OPTIONS,HEAD) simpler and more intuitive. See [wiki:Request] for detailed information. (r7335 / #1565)
 * Class-management functions added to !OpenLayers.Element class: hasClass(), addClass(), removeClass(), and toggleClass() all make it easier for users to manage/manipulate the css classes attributed to DOMElements. (r7579 / #1607)
 * !ZoomPanel and !PanPanel controls: Essentially these are new css-ified versions of the !PanZoom control, making it infinitely easier for users to add their own, customized panning and zooming controls (#1400)
 * Keyboard handler works in Safari (#1292)
 * Added new Basic Measurement Control (#1241)
 * NavigationHistory control now uses css sprites technique for rendering (#1555)
 * Added a 'beforefeatureselected' event to the vector layer (#1427)
 * Overview map now supports different projections. (#1620)
 * Events:
   * Right-clicks (and double right-clicks -- zoom out) can now be configured on the map by setting the 'handleRightClicks' property on the Navigation control. (#1359)
   * Dramatic speed improvements to getMousePosition() (#1459)
 * Feature.Vector:
   * Added move() APIMethod to the Feature.Vector class to easily allow for the displacement of vector features. (#1362)
 * Format:
   * New! Format.GPX class allows for parsing of GPX-formatted files into linear features. (#1272)
   * Format.GML:
     * Added versioned GML Parsing. (#1639)
     * GML Parsing now supports gml-specific attributes. (#1328)
     * Adding support to the GML parser for serializing !OpenLayers.Bounds as gml:Box. This gives the filter format (and the SLD format) the ability to write spatial filters (that have bounds as a value). (#1543)
   * Format.SLD:
     * Users can now specify stroke style of features. (#1126)
     * Added a filter format for version 1.0.0 filter encoding. (#1605)
     * Added support for !TextSymbolizer. (#1542)
   * Format.WMC:
     * Implemented 'queryable' functionality. (#1447)
     * Now reads metadata URLs. (#1452)
   * Format.XML: Added readers and writers properties. (#1722)
 * Languages:
   * Dutch (#1425)
   * Swedish (#1523)
   * Italian (#1573)
   * Simplified Chinese (#1643)
   * Traditional Chinese (#1609)
   * Norwegian (#1598)
   * Brazilian Portuguese (#1519)
   * ''improvements to'' French (#1601)
 * Handler.Feature: Made more robust to things that are related to changing layer order on the map. (#1628)
 * Sketch Handler: Added 'persist' and 'multi' properties. (#1698)
 * Layer:
   * Added a 'moveend' event to the Layer's events list. (#1678)
   * Added 'alwaysInRange' property to allow layers to never turn off based on the zoom level. '''See [wiki:Release/2.7/Notes#Changestoexistingapplicationsfrompreviousversions below] for change from 2.6 that this implies.'''(#987)
   * Layer.GeoRSS now stores the title and description attributes on the created !OpenLayers.Feature object for later access by applications. (#1485)
   * Layer.!VirtualEarth: We now support the latest versions (5, 6.1) of the API. (#1540)
   * Layer.Vector:
     * Added featureremoved-type events. (#1535)
     * Added getDataExtent(). (#1369)
 * Map
   * Added 'olMap' and 'olMapViewPort' css class name with default 0 zIndex/padding/margin and 'text-align: left' (respectively) to ensure proper behaviour. '''See [wiki:Release/2.7/Notes#Changestoexistingapplicationsfrompreviousversions below] for change from 2.6 that this implies.''' (#1635) (#1179) (#1116)
   * panTo() now uses tween if new center is in the current bounds + a ratio (#1341)
   * 'closest' parameter exposed in zoomToExtent() and zoomToScale(). (#1250)
   * Added getUnits() method. (#1591)
 * Added scale() method to !OpenLayers.Bounds" (takes a ratio and an optional center). (#1341)
 * Popup:
   * Now use new features of getRenderedDimensions() to more accurately auto-size. (#1500)
   * Now automatically resize if their [img tag] contents change. (#1469)
   * Auto-Sizing code bubbled out into APIMethod updateSize() to allow for better interactivity. (#1708)
 * Renderer:
   * New Renderer.Canvas class! (#1512)
   * New vector rendering for better performance and less renderer specific limitations. (#1675, #1656, #1631, #1431, #1709)
   * Z-Ordering and Y-Ordering of vector elements! (#1357)
   * Added new graphicName symbolizer property, which allows to render well-known graphic symbols named "square", "cross", "x" and "triangle", in addition to the existing "circle". (#1398)
   * Added new strokeDashstyle symbolizer property. Both SVG's stroke-dasharray and VML's dashstyle syntax is supported. (#1126)
   * Implemented rotation of externalGraphic vector point features. (#1433)
 * Util:
   * getRenderedDimensions() improved to account for a css class on the containing div for the HTML content. (#1500)
   * extend() and applyDefaults() now allow undefined first arg. (#1564)
 * Tile.WFS: support non-XML vector formats. (#1575)
 * Image Loading: Can now be configured to use different server when IMAGE_RELOAD_ATTEMPTS > 1 (#1291)
 * Control.Permalink: Made more configurable by adding an argParserClass property and decomposed the logic for generating the key-value pairs from the div and link generation. (#1489)
 * Moved all alert()s in the library to a single !OpenLayers.Console.userError() function, allowing for easy overriding of this function to report errors at an application level (or hiding them entirely). (#1651)
 * Add !OpenLayers.String.isNumeric method. (#1441)
 * !StyleMap: context can now be given as argument in addUniqueValueRules() allowing user to access to properties that are not part of the feature attributes. (#1548)
 * Added BBOX, Fixed, Clustering, and Paging Strategies (#1606, among others)

== Bugs Fixed ==
 * Firebug fixed for FF3 (#1594)
 * No more duplicate DOMElement id's for controls. All controls' divs' ids are set according to their control id's (#1396). Also, those control id's can now have a custom id specified in the 'options' parameter (#1687).
 * Cursor is 'move' instead of 'default' when dragging a feature. (#1637)
 * Modify feature control now silently removes features/vertices. (#1562)
 * Fix linestring editing when two points are at the same position. (#1533)
 * register() method no longer failing on !OpenLayers.Events object if Array.prototype is overloaded by 3rd party library. (#1502)
 * Vector features with no geometries are now cloneable. (#1557)
 * Format:
   * Format.GeoJSON now parses features with null geometries. (#1145)
   * Format.GeoRSS :
     * No longer fails on large line/poly nodes in FF. (#1614)
     * Speedup for getChildValue(). (#1600)
   * Format.SLD: !PointSymbolizer Size is no longer misinterpreted. (#1545)
   * Format.WKT: No longer reprojects geometrycollection components twice. (#1554)
   * Format.XML: No longer depend on exceptions for parsing. 3x speed up of parsing in FF. (#1642)
   * Format.KML: KML styles no longer extracted when extractStyles is false. (#1576)
 * Clear bounds of geometries when reprojecting. (#1658)
 * Handler:
   * Handler.Box:
     * Take css borders into account when drawing the box. (#1593)
     * always set style.left and style.top, so lost events won't result in an incorrect box any more. (#1579)
   * Handler.!RegularPolygon: New RegularPolygon features can now be invisible. (#1577)
   * Handler.Feature:
     * No longer uses getFeatureFromEvent on mousemove without hover callbacks. '''See [wiki:Release/2.7/Notes#Changestoexistingapplicationsfrompreviousversions below] for change from 2.6 that this implies.''' (#1655)
     * Apects of dragging a box control no longer fail when letting go over a feature. (#1293)
 * Layer:
   * 'minScale' and 'maxScale' properties no longer ignored if 'scales' array set on map. (#1199)
   * Layers subclassing !FixedZoomLevels (Google, Yahoo, VE, etc) now take into account the 'maxZoomLevel' property. (#1182)
   * Layer.GeoRSS: No longer triggers 'loadstart' twice. (#1580)
   * Layer.Google: ow displays in correct position when it was originally loaded as the not default layer, or if the map is resized while the google layer is hidden. (#830)
   * Layer.Grid: uses layer's 'maxExtent' instead of the maps in laying out the tiles. (#1552)
   * Layer.!MapGuide:
     * Layer now gets correctly set up and reports correct co-ordinates. (#1511)
     * Adjust how the parameters are calculated for the GETVISIBLEMAPEXTENT call for overlays so that existing parameters are safely overwritten with the required parameters for this call. (#1647)
   * Layer.Text:
     * 'loadstart' now only fired once. (#1696)
     * Now allows icon offset of 0,0. (#1467)
     * Icons no longer created with NaN, NaN coordinates (#1571)
   * Layer.Vector:
     * Fixed typo in destroy(). (#1659)
     * Fixed flicker in SVG in FF2. (#1390)
     * Allow destroy() to be called twice without failing. (#1697)
     * Now destroys itself before its parent. (#1536)
     * Fixed bug where feature redrawn offscreen stays invisible by handling of unrenderedFeatures from moveTo to drawFeature. (#1723)
     * Fixed VML rendering's drawing of geometries when coordinate numbers are very high (#1732)
   * Layer.!VirtualEarth:
     * Added missing VE zoom level. (#1181)
   * Layer.WFS: SRS sent with WFS requests now matches projection of requested extents. (#1537)
   * Layer.TMS: Added missing @requires statement for Tile/Image.js  (#1733)
 * Map:
   * panTo() no longer executes if called on same center... eliminating vector flicker. (#1507)
   * zoomToMaxExtent() and getMaxExtent() now smarter if a 'restrictedExtent' property is set on the map. (#1134)
 * Renderer:
   * Renderer.Elements:
     * Geometry.Collection taken into account when erasing geometries. (#1621)
     * Fixed event handling and rendering of graphicName symbols for Safari and Opera. (#1653)
   * Renderer.SVG: Changed the default cursor for vector features from "" to "inherit" because FF3 complains about "". (#1595)
   * Renderer.VML:
     * Made coordsize positive for vector renderers -- fixes erratic behavior and speeds up rendering. (#1157)
     * No longer set the cursor to "inherit". (#1624)
 * Tile.Image: Refactored backBuffer tile code out of generic Tile base class into Tile.Image to make it nicer when subclassing Tile for other needs. (#1645)
 * Util:
   * Improved reslience of getStyle. (#1051)
   * Position parameter now gets set on createAlphaImageDiv(). (#1461)
   * modifyAlphaImageDiv() no longer makes hidden elements reappear in IE6. (#1520)
   * getRenderedDimensions() no longer improperly sets style width and height. (#1570)
 * Control.Panel: Redraws when toggle controls are activated. (#895)
 * Patched Test.AnotherWay to use importNode in html_eq. (#1376)
 * Popup: Fixed the auto-sizing feature that was causing them to expand and expand each time opened. (#1586)
 * General: Adding missing 'px' in various places throughout the code. (#1582)
 * Ajax: Fixing an obvious bug in Ajax.js: when we upgraded Prototype, we missed a pair -> extras. (#1559)
 * For great speediness, we now (whenever possible) cache array length instead of accessing it with each iteration. (#1636)
 *



== Changes to existing applications from previous versions ==

 * The !OpenLayers.Events object no longer automatically includes the 'xy' property on all browser events. This is from (r7615 / #1459) and if it is causing you issues, you can override it by adding the following line to your code:
{{{
OpenLayers.Events.prototype.includeXY = true;
}}}
 * On the SelectFeature control hover can no longer be set on the SelectFeature control after the control has been initialized: must be passed at initialize time. (r7682 / #1655)
 * Overlays with no scale/resolution properties set are now visible at all resolution levels (r/#)
 * Map divs which previously had a 'padding' or 'margin' or 'text-align' css property set... those properties are now overridden by style.css. (#1179) (#1116)

你可能感兴趣的:(OpenLayers)