[OpenLayers-Commits] r11029 - in sandbox/tschaub/xdomain: . build
examples lib lib/OpenLayers lib/OpenLayers/BaseTypes lib/OpenLayers/Control
lib/OpenLayers/Feature lib/OpenLayers/Filter lib/OpenLayers/Format
lib/OpenLayers/Format/ArcXML lib/OpenLayers/Format/CSWGetDomain
lib/OpenLayers/Format/CSWGetRecords lib/OpenLayers/Format/Filter
lib/OpenLayers/Format/GML lib/OpenLayers/Format/OWSCommon
lib/OpenLayers/Format/OWSContext lib/OpenLayers/Format/SLD
lib/OpenLayers/Format/SOSCapabilities lib/OpenLayers/Format/WFSCapabilities
lib/OpenLayers/Format/WFST lib/OpenLayers/Format/WMC
lib/OpenLayers/Format/WMSCapabilities
lib/OpenLayers/Format/WMSDescribeLayer
lib/OpenLayers/Format/WMTSCapabilities lib/OpenLayers/Geometry
lib/OpenLayers/Handler lib/OpenLayers/Layer lib/OpenLayers/Layer/Google
lib/OpenLayers/Layer/MapServer lib/OpenLayers/Layer/Vector
lib/OpenLayers/Layer/WMS lib/OpenLayers/Marker lib/OpenLayers/Popup
lib/OpenLayers/Protocol lib/OpenLayers/Protocol/SOS
lib/OpenLayers/Protocol/SQL
lib/OpenLayers/Protocol/WFS lib/OpenLayers/Renderer lib/OpenLayers/Request
lib/OpenLayers/Strategy lib/OpenLayers/Symbolizer lib/OpenLayers/Tile
lib/OpenLayers/Tile/Image lib/Rico tests tests/Control tests/Format
tests/Geometry tests/Handler tests/Layer tests/Protocol tests/Renderer
tests/Request tests/manual theme/default tools
commits-20090109 at openlayers.org
commits-20090109 at openlayers.org
Wed Jan 12 08:06:30 EST 2011
Author: pgiraud
Date: 2011-01-12 05:06:30 -0800 (Wed, 12 Jan 2011)
New Revision: 11029
Added:
sandbox/tschaub/xdomain/examples/bing-tiles.html
sandbox/tschaub/xdomain/examples/bing-tiles.js
sandbox/tschaub/xdomain/examples/graphic-name.js
sandbox/tschaub/xdomain/examples/simplify-linestring.html
sandbox/tschaub/xdomain/examples/simplify-linestring.js
sandbox/tschaub/xdomain/examples/tile-extent.html
sandbox/tschaub/xdomain/examples/tile-extent.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Bing.js
sandbox/tschaub/xdomain/tests/Layer/Bing.html
sandbox/tschaub/xdomain/tests/manual/google-v3-resize.html
Modified:
sandbox/tschaub/xdomain/
sandbox/tschaub/xdomain/build/full.cfg
sandbox/tschaub/xdomain/build/library.cfg
sandbox/tschaub/xdomain/build/license.txt
sandbox/tschaub/xdomain/build/lite.cfg
sandbox/tschaub/xdomain/examples/google-v3.html
sandbox/tschaub/xdomain/examples/graphic-name.html
sandbox/tschaub/xdomain/examples/osm-google.html
sandbox/tschaub/xdomain/lib/OpenLayers.js
sandbox/tschaub/xdomain/lib/OpenLayers/Ajax.js
sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes.js
sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Bounds.js
sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Class.js
sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Element.js
sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/LonLat.js
sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Pixel.js
sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Size.js
sandbox/tschaub/xdomain/lib/OpenLayers/Console.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ArgParser.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Attribution.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Button.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragFeature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragPan.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/DrawFeature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/EditingToolbar.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/GetFeature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Graticule.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/KeyboardDefaults.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/LayerSwitcher.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Measure.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ModifyFeature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseDefaults.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/MousePosition.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseToolbar.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavToolbar.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Navigation.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavigationHistory.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/OverviewMap.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Pan.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanPanel.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoom.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoomBar.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Panel.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Permalink.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/SLDSelect.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Scale.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ScaleLine.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/SelectFeature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Snapping.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/Split.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/TransformFeature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMSGetFeatureInfo.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMTSGetFeatureInfo.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomBox.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomIn.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomOut.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomPanel.js
sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomToMaxExtent.js
sandbox/tschaub/xdomain/lib/OpenLayers/Events.js
sandbox/tschaub/xdomain/lib/OpenLayers/Feature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Feature/Vector.js
sandbox/tschaub/xdomain/lib/OpenLayers/Feature/WFS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Filter.js
sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Comparison.js
sandbox/tschaub/xdomain/lib/OpenLayers/Filter/FeatureId.js
sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Logical.js
sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Spatial.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML/Features.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/Atom.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/Context.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_1_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/Base.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v2.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v3.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/GPX.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoJSON.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoRSS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/JSON.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/KML.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/OSM.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_1_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext/v0_3_1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetObservation.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/Text.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSDescribeFeatureType.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_1_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WKT.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_1_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSGetFeatureInfo.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Format/XML.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Collection.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Curve.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LineString.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LinearRing.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiLineString.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPoint.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPolygon.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Point.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Polygon.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Rectangle.js
sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Surface.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Box.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Click.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Drag.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Feature.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Hover.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Keyboard.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/MouseWheel.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Path.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Point.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Polygon.js
sandbox/tschaub/xdomain/lib/OpenLayers/Handler/RegularPolygon.js
sandbox/tschaub/xdomain/lib/OpenLayers/Icon.js
sandbox/tschaub/xdomain/lib/OpenLayers/Lang.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcGIS93Rest.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcIMS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Boxes.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/EventPane.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/FixedZoomLevels.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GML.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GeoRSS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google/v3.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Grid.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/HTTPRequest.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Image.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMap.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMapCache.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapGuide.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer/Untiled.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Markers.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MultiMap.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/PointTrack.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/SphericalMercator.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TMS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Text.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TileCache.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector/RootContainer.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/VirtualEarth.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WFS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Post.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Untiled.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMTS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WorldWind.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/XYZ.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Yahoo.js
sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Zoomify.js
sandbox/tschaub/xdomain/lib/OpenLayers/Map.js
sandbox/tschaub/xdomain/lib/OpenLayers/Marker.js
sandbox/tschaub/xdomain/lib/OpenLayers/Marker/Box.js
sandbox/tschaub/xdomain/lib/OpenLayers/Popup.js
sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Anchored.js
sandbox/tschaub/xdomain/lib/OpenLayers/Popup/AnchoredBubble.js
sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Framed.js
sandbox/tschaub/xdomain/lib/OpenLayers/Popup/FramedCloud.js
sandbox/tschaub/xdomain/lib/OpenLayers/Projection.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/FilterSerializer.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/HTTP.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL/Gears.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_0_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_1_0.js
sandbox/tschaub/xdomain/lib/OpenLayers/Renderer.js
sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Canvas.js
sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Elements.js
sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/SVG.js
sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/VML.js
sandbox/tschaub/xdomain/lib/OpenLayers/Request.js
sandbox/tschaub/xdomain/lib/OpenLayers/Request/XMLHttpRequest.js
sandbox/tschaub/xdomain/lib/OpenLayers/Rule.js
sandbox/tschaub/xdomain/lib/OpenLayers/SingleFile.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/BBOX.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Cluster.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Filter.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Fixed.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Paging.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Refresh.js
sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Save.js
sandbox/tschaub/xdomain/lib/OpenLayers/Style.js
sandbox/tschaub/xdomain/lib/OpenLayers/Style2.js
sandbox/tschaub/xdomain/lib/OpenLayers/StyleMap.js
sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer.js
sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Line.js
sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Point.js
sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Polygon.js
sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Raster.js
sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Text.js
sandbox/tschaub/xdomain/lib/OpenLayers/Tile.js
sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image.js
sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image/IFrame.js
sandbox/tschaub/xdomain/lib/OpenLayers/Tile/WFS.js
sandbox/tschaub/xdomain/lib/OpenLayers/Tween.js
sandbox/tschaub/xdomain/lib/OpenLayers/Util.js
sandbox/tschaub/xdomain/lib/Rico/Color.js
sandbox/tschaub/xdomain/lib/Rico/Corner.js
sandbox/tschaub/xdomain/license.txt
sandbox/tschaub/xdomain/readme.txt
sandbox/tschaub/xdomain/tests/Control/Snapping.html
sandbox/tschaub/xdomain/tests/Control/WMSGetFeatureInfo.html
sandbox/tschaub/xdomain/tests/Format/WKT.html
sandbox/tschaub/xdomain/tests/Geometry/Collection.html
sandbox/tschaub/xdomain/tests/Geometry/LineString.html
sandbox/tschaub/xdomain/tests/Handler/Drag.html
sandbox/tschaub/xdomain/tests/Layer/Vector.html
sandbox/tschaub/xdomain/tests/Layer/WMS.html
sandbox/tschaub/xdomain/tests/Protocol/HTTP.html
sandbox/tschaub/xdomain/tests/Protocol/WFS.html
sandbox/tschaub/xdomain/tests/Renderer/SVG.html
sandbox/tschaub/xdomain/tests/Request.html
sandbox/tschaub/xdomain/tests/Request/XMLHttpRequest.html
sandbox/tschaub/xdomain/tests/Util.html
sandbox/tschaub/xdomain/tests/list-tests.html
sandbox/tschaub/xdomain/theme/default/style.css
sandbox/tschaub/xdomain/tools/mergejs.py
sandbox/tschaub/xdomain/tools/toposort.py
Log:
svn merge -r 10939:HEAD http://svn.openlayers.org/trunk/openlayers .
Property changes on: sandbox/tschaub/xdomain
___________________________________________________________________
Modified: svn:mergeinfo
- /sandbox/roberthl/openlayers:9745-9748
+ /sandbox/roberthl/openlayers:9745-9748
/trunk/openlayers:10940-11028
Modified: sandbox/tschaub/xdomain/build/full.cfg
===================================================================
--- sandbox/tschaub/xdomain/build/full.cfg 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/build/full.cfg 2011-01-12 13:06:30 UTC (rev 11029)
@@ -2,11 +2,6 @@
# like Renderers and Formats.
[first]
-OpenLayers/SingleFile.js
-OpenLayers/BaseTypes.js
-OpenLayers/BaseTypes/Class.js
-OpenLayers/Util.js
-Rico/Corner.js
[last]
Modified: sandbox/tschaub/xdomain/build/library.cfg
===================================================================
--- sandbox/tschaub/xdomain/build/library.cfg 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/build/library.cfg 2011-01-12 13:06:30 UTC (rev 11029)
@@ -3,11 +3,6 @@
# is specified.
[first]
-OpenLayers/SingleFile.js
-OpenLayers/BaseTypes.js
-OpenLayers/BaseTypes/Class.js
-OpenLayers/Util.js
-Rico/Corner.js
[last]
Modified: sandbox/tschaub/xdomain/build/license.txt
===================================================================
--- sandbox/tschaub/xdomain/build/license.txt 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/build/license.txt 2011-01-12 13:06:30 UTC (rev 11029)
@@ -2,7 +2,7 @@
OpenLayers.js -- OpenLayers Map Viewer Library
- Copyright 2005-2010 OpenLayers Contributors, released under the Clear BSD
+ Copyright 2005-2011 OpenLayers Contributors, released under the Clear BSD
license. Please see http://svn.openlayers.org/trunk/openlayers/license.txt
for the full text of the license.
Modified: sandbox/tschaub/xdomain/build/lite.cfg
===================================================================
--- sandbox/tschaub/xdomain/build/lite.cfg 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/build/lite.cfg 2011-01-12 13:06:30 UTC (rev 11029)
@@ -5,10 +5,6 @@
# Web Mapping BOF.
[first]
-OpenLayers/SingleFile.js
-OpenLayers/BaseTypes.js
-OpenLayers/BaseTypes/Class.js
-OpenLayers/Util.js
[last]
Copied: sandbox/tschaub/xdomain/examples/bing-tiles.html (from rev 11028, trunk/openlayers/examples/bing-tiles.html)
===================================================================
--- sandbox/tschaub/xdomain/examples/bing-tiles.html (rev 0)
+++ sandbox/tschaub/xdomain/examples/bing-tiles.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>OpenLayers Bing Tiles Example</title>
+ <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+ <link rel="stylesheet" href="style.css" type="text/css">
+ <style type="text/css">
+ .olControlAttribution {
+ left: 5px;
+ right: inherit;
+ bottom: 5px;
+ }
+ </style>
+ </head>
+ <body>
+ <h1 id="title">Basic Bing Tiles Example</h1>
+
+ <div id="tags">
+ bing tiles
+ </div>
+
+ <div id="shortdesc">Use Bing with direct tile access</div>
+
+ <div id="map" class="smallmap"></div>
+
+ <div id="docs">
+ <p>This example shows a very simple map with Bing layers that use
+ direct tile access through Bing Maps REST Services.</p><p>See
+ <a target="_blank" href="bing-tiles.js">bing-tiles.js</a> for the
+ source code.</p>
+ </div>
+ <script src="../lib/OpenLayers.js"></script>
+ <script src="bing-tiles.js"></script>
+ </body>
+</html>
Copied: sandbox/tschaub/xdomain/examples/bing-tiles.js (from rev 11028, trunk/openlayers/examples/bing-tiles.js)
===================================================================
--- sandbox/tschaub/xdomain/examples/bing-tiles.js (rev 0)
+++ sandbox/tschaub/xdomain/examples/bing-tiles.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,26 @@
+// API key for http://openlayers.org. Please get your own at
+// http://bingmapsportal.com/ and use that instead.
+var apiKey = "AqTGBsziZHIJYYxgivLBf0hVdrAk9mWO5cQcb8Yux8sW5M8c8opEC2lZqKR1ZZXf";
+
+var map = new OpenLayers.Map( 'map');
+
+var road = new OpenLayers.Layer.Bing({
+ key: apiKey,
+ type: "Road"
+});
+var aerial = new OpenLayers.Layer.Bing({
+ key: apiKey,
+ type: "Aerial"
+});
+var hybrid = new OpenLayers.Layer.Bing({
+ key: apiKey,
+ type: "AerialWithLabels",
+ name: "Bing Aerial With Labels"
+});
+
+map.addLayers([road, aerial, hybrid]);
+map.addControl(new OpenLayers.Control.LayerSwitcher());
+map.setCenter(new OpenLayers.LonLat(-71.147, 42.472).transform(
+ new OpenLayers.Projection("EPSG:4326"),
+ map.getProjectionObject()
+), 12);
Modified: sandbox/tschaub/xdomain/examples/google-v3.html
===================================================================
--- sandbox/tschaub/xdomain/examples/google-v3.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/examples/google-v3.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="../theme/default/google.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
- <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
+ <script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false"></script>
<script src="../lib/OpenLayers.js"></script>
<script src="google-v3.js"></script>
</head>
Modified: sandbox/tschaub/xdomain/examples/graphic-name.html
===================================================================
--- sandbox/tschaub/xdomain/examples/graphic-name.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/examples/graphic-name.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,91 +1,39 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>OpenLayers Graphic Names</title>
- <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
- <link rel="stylesheet" href="style.css" type="text/css" />
- <script src="../lib/OpenLayers.js"></script>
- <script type="text/javascript">
- // user custom graphicname
-
- OpenLayers.Renderer.symbol.lightning = [0,0, 4,2, 6,0, 10,5, 6,3, 4,5, 0,0];
- OpenLayers.Renderer.symbol.rectangle = [0,0, 4,0, 4,10, 0,10, 0,0];
-
- var map;
-
- function init() {
- map = new OpenLayers.Map('map');
-
- // list of well-known graphic names
- var graphics = ["star", "cross", "x", "square", "triangle", "circle", "lightning", "rectangle"];
-
- // Create one feature for each well known graphic.
- // Give features a type attribute with the graphic name.
- var num = graphics.length;
- var slot = map.maxExtent.getWidth() / num;
- var features = Array(num);
- for(var i=0; i<graphics.length; ++i) {
- lon = map.maxExtent.left + (i * slot) + (slot / 2);
- features[i] = new OpenLayers.Feature.Vector(
- new OpenLayers.Geometry.Point(
- map.maxExtent.left + (i * slot) + (slot / 2), 0
- ), {
- type: graphics[i]
- }
- );
- }
-
- // Create a style map for painting the features.
- // The graphicName property of the symbolizer is evaluated using
- // the type attribute on each feature (set above).
- var styles = new OpenLayers.StyleMap({
- "default": {
- graphicName: "${type}",
- pointRadius: 10,
- strokeColor: "fuchsia",
- strokeWidth: 2,
- fillColor: "lime",
- fillOpacity: 0.6
- },
- "select": {
- pointRadius: 20,
- fillOpacity: 1,
- rotation: 45
- }
- });
-
- // Create a vector layer and give it your style map.
- var layer = new OpenLayers.Layer.Vector(
- "Graphics", {styleMap: styles, isBaseLayer: true}
- );
- layer.addFeatures(features);
- map.addLayer(layer);
-
- // Create a select feature control and add it to the map.
- var select = new OpenLayers.Control.SelectFeature(layer, {hover: true});
- map.addControl(select);
- select.activate();
-
- map.setCenter(new OpenLayers.LonLat(0, 0), 0);
- }
- </script>
- </head>
- <body onload="init()">
- <h1 id="title">Named Graphics Example</h1>
-
- <div id="tags">
- vector, named graphic, star, cross, x, square, triangle, circle, style
- </div>
-
- <p id="shortdesc">
- Shows how to use well-known graphic names.
- </p>
-
- <div id="map" class="smallmap"></div>
-
- <div id="docs">
- OpenLayers supports well-known names for a few graphics. You can use
- the names "star", "cross", "x", "square", "triangle", and "circle" as
- the value for the graphicName property of a symbolizer.
- </div>
- </body>
-</html>
\ No newline at end of file
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>OpenLayers Graphic Names</title>
+ <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
+ <link rel="stylesheet" href="style.css" type="text/css" />
+ <script src="../lib/OpenLayers.js" type="text/javascript"></script>
+ <script src="./graphic-name.js" type="text/javascript"></script>
+ </head>
+ <body onload="init();">
+ <h1 id="title">Named Graphics Example</h1>
+ <div id="tags">
+ vector, named graphic, star, cross, x, square, triangle, circle, style
+ </div>
+ <p id="shortdesc">
+ Shows how to use well-known graphic names.
+ </p>
+ <div id="map" class="smallmap">
+ </div>
+ <div id="docs">
+ <p>
+ OpenLayers supports well-known names for a few graphics. You
+ can use the names "star", "cross",
+ "x", "square", "triangle", and
+ "circle" as value for the graphicName property of a
+ symbolizer.
+ </p>
+ <p>
+ The named symbols "lightning", "rectangle"
+ and "church" are user defined.
+ </p>
+ <p>
+ See <a href="./graphic-name.js">graphic-name.js</a>
+ for the source code of this example.
+ </p>
+ </div>
+ </body>
+</html>
Copied: sandbox/tschaub/xdomain/examples/graphic-name.js (from rev 11028, trunk/openlayers/examples/graphic-name.js)
===================================================================
--- sandbox/tschaub/xdomain/examples/graphic-name.js (rev 0)
+++ sandbox/tschaub/xdomain/examples/graphic-name.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,62 @@
+// user custom graphicname
+OpenLayers.Renderer.symbol.lightning = [0, 0, 4, 2, 6, 0, 10, 5, 6, 3, 4, 5, 0, 0];
+OpenLayers.Renderer.symbol.rectangle = [0, 0, 4, 0, 4, 10, 0, 10, 0, 0];
+OpenLayers.Renderer.symbol.church = [4, 0, 6, 0, 6, 4, 10, 4, 10, 6, 6, 6, 6, 14, 4, 14, 4, 6, 0, 6, 0, 4, 4, 4, 4, 0];
+var map;
+
+function init(){
+ map = new OpenLayers.Map('map', {
+ controls: []
+ });
+
+ // list of well-known graphic names
+ var graphics = ["star", "cross", "x", "square", "triangle", "circle", "lightning", "rectangle", "church"];
+
+ // Create one feature for each well known graphic.
+ // Give features a type attribute with the graphic name.
+ var num = graphics.length;
+ var slot = map.maxExtent.getWidth() / num;
+ var features = Array(num);
+ for (var i = 0; i < graphics.length; ++i) {
+ lon = map.maxExtent.left + (i * slot) + (slot / 2);
+ features[i] = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(map.maxExtent.left + (i * slot) + (slot / 2), 0), {
+ type: graphics[i]
+ });
+ }
+
+ // Create a style map for painting the features.
+ // The graphicName property of the symbolizer is evaluated using
+ // the type attribute on each feature (set above).
+ var styles = new OpenLayers.StyleMap({
+ "default": {
+ graphicName: "${type}",
+ pointRadius: 10,
+ strokeColor: "fuchsia",
+ strokeWidth: 2,
+ fillColor: "lime",
+ fillOpacity: 0.6
+ },
+ "select": {
+ pointRadius: 20,
+ fillOpacity: 1,
+ rotation: 45
+ }
+ });
+
+ // Create a vector layer and give it your style map.
+ var layer = new OpenLayers.Layer.Vector("Graphics", {
+ styleMap: styles,
+ isBaseLayer: true
+ });
+ layer.addFeatures(features);
+ map.addLayer(layer);
+
+ // Create a select feature control and add it to the map.
+ var select = new OpenLayers.Control.SelectFeature(layer, {
+ hover: true
+ });
+ map.addControl(select);
+ select.activate();
+
+ map.zoomToMaxExtent();
+}
Modified: sandbox/tschaub/xdomain/examples/osm-google.html
===================================================================
--- sandbox/tschaub/xdomain/examples/osm-google.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/examples/osm-google.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="../theme/default/google.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
- <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
+ <script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false"></script>
<script src="../lib/OpenLayers.js"></script>
<script src="osm-google.js"></script>
</head>
Copied: sandbox/tschaub/xdomain/examples/simplify-linestring.html (from rev 11028, trunk/openlayers/examples/simplify-linestring.html)
===================================================================
--- sandbox/tschaub/xdomain/examples/simplify-linestring.html (rev 0)
+++ sandbox/tschaub/xdomain/examples/simplify-linestring.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,100 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>Simplify a LineString geometry</title>
+ <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+ <link rel="stylesheet" href="style.css" type="text/css">
+ <style type="text/css">
+ #map, #map-simplify {
+ height: 400px;
+ width: 400px;
+ margin: 5px !important;
+ float: left;
+ }
+ #info {
+ width: 300px;
+ float: left;
+ }
+ #docs {
+ clear: both;
+ }
+ </style>
+ </head>
+ <body>
+ <h1 id="title">Simplify a LineString geometry</h1>
+ <div id="tags">
+ Douglas-Peucker, Douglas, Peucker, Peuker, tolerance
+ </div>
+ <p id="shortdesc">
+ Shows the usage of the method "simplify" that implements
+ the Douglas-Peucker algorithm to remove "insignificant"
+ vertices from LineString geometries.
+ </p>
+ <div id="control-simplify">
+ <label for="tolerance">Tolerance factor:</label>
+ <input name="tolerance" id="tolerance" type="number" min="0" max="1" step="0.02" value="0.1">
+ <input type="button" id="simplify" value="Simplify LineString">
+ <input type="button" id="animation" value="Start animation">
+ </div>
+ <div id="map" class="smallmap">
+ </div>
+ <div id="map-simplify" class="smallmap">
+ </div>
+ <div id="info">
+ </div>
+ <div id="docs">
+ <p>
+ Instances of OpenLayers.Geometry.LineString have a method simplify,
+ that can be used to simplify linestring geometries.
+ Simplification sometimes is useful to enhance the perfomance of
+ vector rendering or to reduce complexity of geometries. This
+ might be especially handy when viewing geometries a small
+ scales.
+ </p>
+ <p>
+ OpenLayers.Geometry.LineString::simplify is a recursive
+ implementation of the famous Douglas-Peucker algorithm. It is
+ controlled by a tolerance factor that defines the threshold for
+ vertices to be considered "insignificant" for the
+ general structure of the geometry.
+ </p>
+ <p>
+ The LineString on the left map can be simplified according to
+ the tolerance value one enters in the form-field above the maps.
+ Use a value between 0 and 1 for best results. If you navigate
+ the left map, the right map will show the same location to make
+ it easier to spot the differeces between the LineStrings.
+ </p>
+ <p>
+ You can also use the button "Start animation" to get
+ results for increasing tolerance-factors from 0.02 to 1.0. The
+ animation can be paused by clicking on the button "Stop
+ animation".
+ </p>
+ <p>
+ The LineString represents a part of the coastline of
+ <a href="http://www.openstreetmap.org/?lat=54.7309684753418&lon=83.1809234619141&zoom=11">this
+ place southeast of Novosibirsk in Russia</a> — found via
+ <a href="http://ryba4.com/python/ramer-douglas-peucker">an
+ example implementation of the algorithm in python</a>.
+ </p>
+ <p>
+ For a detailled explanation of the algorithm see
+ <a href="http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm">the
+ Wikipedia article</a> or the original publication: David Douglas
+ & Thomas Peucker, "Algorithms for the reduction of the
+ number of points required to represent a digitized line or its
+ caricature", The Canadian Cartographer 10(2), 112-122 (1973)
+ (<a href="http://dx.doi.org/10.3138/FM57-6770-U75U-7727">DOI:
+ 10.3138/FM57-6770-U75U-7727</a>).
+ </p>
+ <p>See <a href="simplify-linestring.js">simplify-linestring.js</a>
+ for the source code of this example.</p>
+ </div>
+ <script type="text/javascript" src="../lib/OpenLayers.js">
+ </script>
+ <script type="text/javascript" src="./simplify-linestring.js">
+ </script>
+ </body>
+</html>
Copied: sandbox/tschaub/xdomain/examples/simplify-linestring.js (from rev 11028, trunk/openlayers/examples/simplify-linestring.js)
===================================================================
--- sandbox/tschaub/xdomain/examples/simplify-linestring.js (rev 0)
+++ sandbox/tschaub/xdomain/examples/simplify-linestring.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,599 @@
+// global variables
+var map, map2;
+
+// wrap the instanciation code in an anonymous function that gets executed
+// immedeately
+(function(){
+ // style the vectorlayer
+ var styleMap = new OpenLayers.StyleMap({
+ 'default': new OpenLayers.Style({
+ strokeColor: "#333333",
+ strokeWidth: 1.2,
+ strokeOpacity: 1
+ })
+ });
+
+ // the vectorlayer
+ var vectorlayer = new OpenLayers.Layer.Vector('Vectorlayer', {
+ isBaseLayer: true,
+ styleMap: styleMap
+ });
+
+ var original = OpenLayers.Geometry.fromWKT("LINESTRING(" +
+ "6.247872 11.316756," +
+ "6.338566 11.316756," +
+ "6.633323 11.205644," +
+ "6.724018 11.205644," +
+ "6.792039 11.205644," +
+ "7.154817 11.372311," +
+ "7.313532 11.400089," +
+ "7.381553 11.344533," +
+ "7.336206 11.288978," +
+ "7.200164 11.288978," +
+ "7.154817 11.261200," +
+ "7.132143 11.233422," +
+ "7.154817 11.150089," +
+ "7.268185 11.177867," +
+ "7.313532 11.122311," +
+ "7.404227 11.150089," +
+ "7.472248 11.094533," +
+ "7.767005 10.900089," +
+ "7.758951 10.864989," +
+ "7.752684 10.837656," +
+ "7.426900 10.927867," +
+ "6.519955 10.927867," +
+ "6.429261 10.900089," +
+ "6.315893 10.955644," +
+ "6.270545 10.955644," +
+ "6.247872 10.927867," +
+ "6.111830 11.011200," +
+ "6.066483 11.066756," +
+ "5.862420 11.038978," +
+ "5.817073 10.955644," +
+ "5.771726 10.900089," +
+ "5.862420 10.761200," +
+ "5.975788 10.733422," +
+ "6.157177 10.566756," +
+ "6.247872 10.511200," +
+ "6.293219 10.427867," +
+ "6.315893 10.233422," +
+ "6.315893 10.177867," +
+ "6.542629 9.844533," +
+ "6.587976 9.761200," +
+ "6.610650 9.288978," +
+ "6.542629 9.066756," +
+ "6.565303 8.900089," +
+ "6.519955 8.816756," +
+ "6.542629 8.761200," +
+ "6.565303 8.733422," +
+ "6.429261 8.427867," +
+ "6.474608 8.316756," +
+ "6.724018 8.288978," +
+ "6.882733 8.538978," +
+ "6.973428 8.594533," +
+ "6.996101 8.622311," +
+ "7.200164 8.650089," +
+ "7.290859 8.650089," +
+ "7.426900 8.483422," +
+ "7.404227 8.455644," +
+ "7.245511 8.511200," +
+ "6.996101 8.427867," +
+ "7.041449 8.372311," +
+ "7.154817 8.455644," +
+ "7.200164 8.455644," +
+ "7.245511 8.455644," +
+ "7.381553 8.316756," +
+ "7.381553 8.261200," +
+ "7.404227 8.233422," +
+ "7.494921 8.205644," +
+ "7.767005 8.288978," +
+ "7.948394 8.233422," +
+ "8.016415 8.261200," +
+ "8.197804 8.094533," +
+ "8.084435 7.816756," +
+ "8.152456 7.733422," +
+ "8.175130 7.650089," +
+ "8.175130 7.511200," +
+ "8.311172 7.427867," +
+ "8.311172 7.372311," +
+ "8.651276 7.372311," +
+ "8.923360 7.316756," +
+ "8.900686 7.261200," +
+ "8.809991 7.261200," +
+ "8.472735 7.171122," +
+ "8.333845 7.038978," +
+ "8.282022 6.981100," +
+ "8.254778 6.848911," +
+ "8.265824 6.816756," +
+ "8.239206 6.711211," +
+ "8.219743 6.612067," +
+ "8.130227 6.433044," +
+ "8.084435 6.316756," +
+ "8.107109 6.288978," +
+ "7.948394 6.177867," +
+ "7.925720 5.983422," +
+ "7.857699 5.816756," +
+ "7.835026 5.788978," +
+ "7.857699 5.511200," +
+ "7.812352 5.400089," +
+ "7.812352 5.344533," +
+ "7.812352 5.177867," +
+ "8.084435 4.733422," +
+ "8.107109 4.622311," +
+ "7.857699 4.344533," +
+ "7.630963 4.261200," +
+ "7.540268 4.177867," +
+ "7.494921 4.150089," +
+ "7.449574 4.150089," +
+ "7.404227 4.150089," +
+ "7.336206 4.094533," +
+ "7.313532 4.066756," +
+ "7.041449 4.011200," +
+ "6.905407 3.955644," +
+ "6.950754 3.900089," +
+ "7.200164 3.927867," +
+ "7.630963 3.872311," +
+ "7.721657 3.872311," +
+ "7.948394 3.788978," +
+ "7.993741 3.705644," +
+ "7.971067 3.677867," +
+ "7.925720 3.622311," +
+ "8.175130 3.705644," +
+ "8.401866 3.650089," +
+ "8.492561 3.650089," +
+ "8.605929 3.538978," +
+ "8.651276 3.566756," +
+ "8.855339 3.372311," +
+ "8.900686 3.316756," +
+ "8.900686 3.150089," +
+ "8.787318 2.900089," +
+ "8.787318 2.844533," +
+ "8.946033 2.816756," +
+ "8.991380 2.788978," +
+ "9.014054 2.705644," +
+ "8.886928 2.524989," +
+ "8.832665 2.538978," +
+ "8.809991 2.455644," +
+ "8.923360 2.538978," +
+ "9.014054 2.400089," +
+ "9.308811 2.288978," +
+ "9.399506 2.261200," +
+ "9.512874 2.122311," +
+ "9.535548 1.983422," +
+ "9.512874 1.955644," +
+ "9.467527 1.816756," +
+ "9.036728 1.816756," +
+ "8.991380 1.927867," +
+ "8.946033 1.955644," +
+ "8.900686 1.983422," +
+ "8.946033 2.122311," +
+ "8.968707 2.150089," +
+ "9.195443 1.927867," +
+ "9.354158 1.955644," +
+ "9.376832 2.038978," +
+ "9.376832 2.094533," +
+ "9.240790 2.205644," +
+ "9.195443 2.205644," +
+ "9.263464 2.150089," +
+ "9.240790 2.122311," +
+ "9.195443 2.122311," +
+ "9.104749 2.122311," +
+ "8.900686 2.316756," +
+ "8.787318 2.344533," +
+ "8.696623 2.372311," +
+ "8.651276 2.427867," +
+ "8.719297 2.455644," +
+ "8.787318 2.650089," +
+ "8.832665 2.705644," +
+ "8.605929 2.677867," +
+ "8.537908 2.788978," +
+ "8.333845 2.788978," +
+ "7.925720 2.316756," +
+ "7.925720 2.261200," +
+ "7.903046 2.233422," +
+ "7.857699 2.233422," +
+ "7.857699 2.177867," +
+ "7.789678 1.983422," +
+ "7.812352 1.788978," +
+ "7.948394 1.538978," +
+ "7.971067 1.511200," +
+ "8.129783 1.511200," +
+ "8.243151 1.594533," +
+ "8.333845 1.594533," +
+ "8.424540 1.622311," +
+ "8.515234 1.566756," +
+ "8.673950 1.400089," +
+ "8.771174 1.291756," +
+ "8.828938 1.119878," +
+ "8.762504 0.972544," +
+ "9.238614 0.759633," +
+ "9.492323 0.627022," +
+ "9.820891 0.644711," +
+ "10.376567 0.800622," +
+ "10.651961 1.085978," +
+ "10.762173 1.132022," +
+ "10.943045 1.095989," +
+ "11.256739 0.999878," +
+ "11.576074 0.761611," +
+ "11.768247 0.425211," +
+ "11.960165 0.074778," +
+ "11.953907 0.000000," +
+ "11.629411 0.258767," +
+ "11.229920 0.582278," +
+ "11.001633 0.564300," +
+ "10.868476 0.447478," +
+ "10.633849 0.541833," +
+ "10.513370 0.672133," +
+ "11.188700 0.820078," +
+ "11.194014 0.859656," +
+ "11.118212 0.905822," +
+ "10.874860 0.930311," +
+ "10.427319 0.716522," +
+ "10.023620 0.374211," +
+ "9.434614 0.360144," +
+ "8.455131 0.859544," +
+ "8.180481 0.920500," +
+ "7.902529 1.115078," +
+ "7.823108 1.269800," +
+ "7.830482 1.403778," +
+ "7.791937 1.496744," +
+ "7.767005 1.538978," +
+ "7.676310 1.622311," +
+ "7.653637 1.650089," +
+ "7.585616 1.955644," +
+ "7.562942 1.983422," +
+ "7.562942 2.233422," +
+ "7.608289 2.400089," +
+ "7.630963 2.427867," +
+ "7.608289 2.538978," +
+ "7.585616 2.566756," +
+ "7.653637 2.705644," +
+ "7.630963 2.816756," +
+ "7.336206 3.011200," +
+ "7.290859 3.011200," +
+ "7.245511 3.011200," +
+ "7.041449 2.955644," +
+ "6.928081 2.816756," +
+ "6.928081 2.733422," +
+ "6.905407 2.622311," +
+ "6.860060 2.677867," +
+ "6.814712 2.677867," +
+ "6.678671 2.677867," +
+ "6.678671 2.733422," +
+ "6.769365 2.733422," +
+ "6.814712 2.733422," +
+ "6.792039 2.788978," +
+ "6.293219 3.066756," +
+ "6.225198 3.122311," +
+ "6.202525 3.233422," +
+ "6.134504 3.344533," +
+ "5.907767 3.261200," +
+ "5.862420 3.288978," +
+ "6.043809 3.427867," +
+ "6.021136 3.483422," +
+ "5.975788 3.483422," +
+ "5.930441 3.511200," +
+ "5.953115 3.566756," +
+ "5.975788 3.594533," +
+ "5.749052 3.788978," +
+ "5.703705 3.788978," +
+ "5.635684 3.788978," +
+ "5.703705 3.844533," +
+ "5.703705 4.011200," +
+ "5.499642 4.011200," +
+ "5.862420 4.372311," +
+ "5.975788 4.427867," +
+ "6.021136 4.427867," +
+ "6.089156 4.538978," +
+ "6.111830 4.566756," +
+ "6.089156 4.650089," +
+ "5.998462 4.650089," +
+ "5.817073 4.788978," +
+ "5.771726 4.816756," +
+ "5.681031 4.816756," +
+ "5.749052 4.927867," +
+ "5.749052 5.038978," +
+ "5.839747 5.177867," +
+ "5.998462 5.233422," +
+ "6.225198 5.233422," +
+ "6.270545 5.233422," +
+ "6.383914 5.288978," +
+ "6.406587 5.372311," +
+ "6.429261 5.400089," +
+ "6.587976 5.483422," +
+ "6.670626 5.490000," +
+ "6.700845 5.564100," +
+ "6.860060 5.927867," +
+ "6.860060 6.038978," +
+ "6.950754 6.205644," +
+ "6.973428 6.316756," +
+ "7.041449 6.344533," +
+ "7.064122 6.455644," +
+ "7.116072 6.541989," +
+ "7.114313 6.603667," +
+ "7.025305 6.741422," +
+ "6.736924 6.701367," +
+ "6.641658 6.741467," +
+ "6.500574 6.761389," +
+ "6.435410 6.733422," +
+ "6.224291 6.728556," +
+ "6.191759 6.738989," +
+ "6.099124 6.755000," +
+ "6.041805 6.749733," +
+ "6.001672 6.742967," +
+ "5.905382 6.718300," +
+ "5.817073 6.677867," +
+ "5.611713 6.686622," +
+ "5.401366 6.864333," +
+ "5.386274 6.927867," +
+ "5.356608 6.981811," +
+ "5.404095 7.111822," +
+ "5.561958 7.216133," +
+ "5.660643 7.244722," +
+ "5.366149 7.489478," +
+ "5.340927 7.511200," +
+ "5.114998 7.592867," +
+ "4.870667 7.692033," +
+ "4.746560 7.781856," +
+ "4.708060 7.760867," +
+ "4.692225 7.802500," +
+ "4.607090 7.849044," +
+ "4.481324 7.879711," +
+ "4.340031 8.093378," +
+ "4.181171 8.158044," +
+ "4.116415 8.200800," +
+ "4.081135 8.195278," +
+ "4.090912 8.272500," +
+ "4.032232 8.378311," +
+ "3.779566 8.791278," +
+ "3.769654 8.849022," +
+ "3.598177 8.955178," +
+ "3.576828 9.059633," +
+ "3.527037 9.066756," +
+ "3.498069 9.082022," +
+ "3.541865 9.174211," +
+ "3.542409 9.234411," +
+ "3.576275 9.262711," +
+ "3.582279 9.287744," +
+ "3.390995 9.316756," +
+ "3.209606 9.344533," +
+ "3.100836 9.367511," +
+ "2.957466 9.370756," +
+ "2.870844 9.366222," +
+ "2.777211 9.285222," +
+ "2.744851 9.285900," +
+ "2.775397 9.294867," +
+ "2.832661 9.341156," +
+ "2.868114 9.373300," +
+ "2.869502 9.400089," +
+ "2.794434 9.420178," +
+ "2.714423 9.440078," +
+ "2.641124 9.441944," +
+ "2.572096 9.428378," +
+ "2.548379 9.418600," +
+ "2.573130 9.388211," +
+ "2.563126 9.333567," +
+ "2.535855 9.320067," +
+ "2.517670 9.282778," +
+ "2.479488 9.260278," +
+ "2.483125 9.239067," +
+ "2.464034 9.224278," +
+ "2.468586 9.180556," +
+ "2.443129 9.168989," +
+ "2.439084 9.147456," +
+ "2.448389 9.129344," +
+ "2.444897 9.109600," +
+ "2.450720 9.097256," +
+ "2.444897 9.080389," +
+ "2.447808 9.045822," +
+ "2.424536 9.024011," +
+ "2.415811 9.000133," +
+ "2.442457 8.957422," +
+ "2.429887 8.946567," +
+ "2.455028 8.894556," +
+ "2.435936 8.879078," +
+ "2.413136 8.853411," +
+ "2.410805 8.836944," +
+ "2.412202 8.822133," +
+ "2.387533 8.789544," +
+ "2.386608 8.776044," +
+ "2.398706 8.757278," +
+ "2.373103 8.739511," +
+ "2.387070 8.769467," +
+ "2.375434 8.784611," +
+ "2.358674 8.785922," +
+ "2.337270 8.793167," +
+ "2.365195 8.790533," +
+ "2.399169 8.821478," +
+ "2.396376 8.837933," +
+ "2.408946 8.879078," +
+ "2.432218 8.894878," +
+ "2.414995 8.963022," +
+ "2.390961 8.983722," +
+ "2.340091 8.969389," +
+ "2.332091 8.946244," +
+ "2.340091 8.927722," +
+ "2.332091 8.912289," +
+ "2.316093 8.904067," +
+ "2.311730 8.874744," +
+ "2.288975 8.861244," +
+ "2.247727 8.856233," +
+ "2.233180 8.861889," +
+ "2.209436 8.859233," +
+ "2.231003 8.871144," +
+ "2.265911 8.873200," +
+ "2.277548 8.869600," +
+ "2.290635 8.873711," +
+ "2.299360 8.904578," +
+ "2.268088 8.909622," +
+ "2.247727 8.925256," +
+ "2.225734 8.920756," +
+ "2.208747 8.909622," +
+ "2.203768 8.921811," +
+ "2.214352 8.931822," +
+ "2.197138 8.933811," +
+ "2.148725 8.907478," +
+ "2.134577 8.904844," +
+ "2.113354 8.917222," +
+ "2.095107 8.918800," +
+ "2.079961 8.912944," +
+ "2.060761 8.913356," +
+ "2.034577 8.902656," +
+ "1.983589 8.895400," +
+ "2.033997 8.913356," +
+ "2.062502 8.918700," +
+ "2.092758 8.929811," +
+ "2.148090 8.928756," +
+ "2.168397 8.937878," +
+ "2.146421 8.965533," +
+ "2.182173 8.943933," +
+ "2.201537 8.951311," +
+ "2.239138 8.938400," +
+ "2.267063 8.944989," +
+ "2.284939 8.925767," +
+ "2.306887 8.926022," +
+ "2.311086 8.936356," +
+ "2.296312 8.952489," +
+ "2.317254 8.981122," +
+ "2.334939 9.003844," +
+ "2.374500 9.014044," +
+ "2.386136 9.034778," +
+ "2.401962 9.044656," +
+ "2.418723 9.044889," +
+ "2.426287 9.054878," +
+ "2.411739 9.063522," +
+ "2.426867 9.099311," +
+ "2.398362 9.125233," +
+ "2.373339 9.121944," +
+ "2.403595 9.134289," +
+ "2.417680 9.165778," +
+ "2.425860 9.192778," +
+ "2.423783 9.231400," +
+ "2.400330 9.237022," +
+ "2.419494 9.243567," +
+ "2.429815 9.246711," +
+ "2.449495 9.245489," +
+ "2.457676 9.289856," +
+ "2.481311 9.298211," +
+ "2.488585 9.334211," +
+ "2.520255 9.353822," +
+ "2.520400 9.369944," +
+ "2.494960 9.432511," +
+ "2.463671 9.469200," +
+ "2.406950 9.500578," +
+ "2.240907 9.536433," +
+ "2.129969 9.569467," +
+ "2.031530 9.607422," +
+ "1.932328 9.658044," +
+ "1.835167 9.695656," +
+ "1.746196 9.760744," +
+ "1.667446 9.789667," +
+ "1.575400 9.797622," +
+ "1.562104 9.828722," +
+ "1.531422 9.846800," +
+ "1.415859 9.888744," +
+ "1.315206 9.942167," +
+ "1.175573 10.083667," +
+ "1.147394 10.090267," +
+ "1.118064 10.086567," +
+ "0.990883 9.998400," +
+ "0.778930 9.990856," +
+ "0.592924 10.033144," +
+ "0.507490 10.125422," +
+ "0.419562 10.320811," +
+ "0.375403 10.344533," +
+ "0.276464 10.431189," +
+ "0.220170 10.534911," +
+ "0.181271 10.571000," +
+ "0.153745 10.620156," +
+ "0.114973 10.653889," +
+ "0.103274 10.707756," +
+ "0.097914 10.761511," +
+ "0.076256 10.811522," +
+ "0.061935 10.867833," +
+ "0.000000 10.960167)"
+ );
+ vectorlayer.addFeatures([new OpenLayers.Feature.Vector(original)]);
+ var maxExtent = vectorlayer.getDataExtent();
+ // instanciate the map
+ map = new OpenLayers.Map("map", {
+ fractionalZoom: true,
+ maxExtent: maxExtent,
+ layers: [vectorlayer]
+ });
+ map.zoomToMaxExtent();
+ map.events.register('moveend', map, function(){
+ map2.setCenter(map.getCenter(), map.getZoom());
+ });
+
+
+ var vectorlayer2 = new OpenLayers.Layer.Vector('Vectorlayer simplified', {
+ isBaseLayer: true,
+ styleMap: styleMap
+ });
+
+ map2 = new OpenLayers.Map("map-simplify", {
+ fractionalZoom: true,
+ maxExtent: maxExtent,
+ controls: [],
+ layers: [vectorlayer2]
+ });
+ map2.zoomToExtent(maxExtent);
+
+ // Control behaviour
+ var lastValue = 0.1;
+ var simplify = function() {
+ var min = 0;
+ var max = 1;
+ var givenVal= parseFloat(document.getElementById('tolerance').value);
+ var useVal = lastValue;
+ if (!isNaN(givenVal)) {
+ if (givenVal >= min && givenVal <= max) {
+ useVal = givenVal;
+ } else {
+ useVal = (givenVal < min) ? min : max;
+ }
+ }
+ document.getElementById('tolerance').value = useVal;
+ vectorlayer2.removeFeatures(vectorlayer2.features);
+ var newLineString = original.simplify(useVal);
+ vectorlayer2.addFeatures([new OpenLayers.Feature.Vector(newLineString)]);
+ var originalVerticesCnt = original.getVertices().length;
+ var simplifiedVerticesCnt = newLineString.getVertices().length;
+ var infotxt = '<ul><li>Original LineString: <strong>';
+ infotxt += originalVerticesCnt + ' vertices</strong></li>';
+ infotxt += ' <li>Simplified geometry: <strong>' + simplifiedVerticesCnt + ' vertices</strong></li>';
+ infotxt += ' <li>Decreased by <strong>' + (((originalVerticesCnt-simplifiedVerticesCnt)/originalVerticesCnt)*100).toFixed(2) + ' per cent</strong></li></ul>';
+ document.getElementById('info').innerHTML = infotxt;
+ lastValue = useVal;
+ };
+ document.getElementById('tolerance').value = lastValue;
+ document.getElementById('simplify').onclick = simplify;
+ simplify();
+
+ var animationInterval;
+ var animationHandler = function(){
+ if (this.value === 'Start animation') {
+ document.getElementById('simplify').disabled = true;
+ document.getElementById('animation').value = "Stop animation";
+ animationInterval = window.setInterval(function(){
+ var tolerance = parseFloat(document.getElementById('tolerance').value);
+ if (tolerance < 1) {
+ tolerance+=0.02;
+ } else {
+ tolerance = 0.02;
+ }
+ document.getElementById('tolerance').value = tolerance.toFixed(2);
+ simplify();
+ }, 500);
+ simplify();
+ } else {
+ if (animationInterval) {
+ window.clearInterval(animationInterval);
+ }
+ document.getElementById('simplify').disabled = false;
+ document.getElementById('animation').value = "Start animation";
+ }
+ };
+ document.getElementById('animation').onclick = animationHandler;
+})();
Copied: sandbox/tschaub/xdomain/examples/tile-extent.html (from rev 11028, trunk/openlayers/examples/tile-extent.html)
===================================================================
--- sandbox/tschaub/xdomain/examples/tile-extent.html (rev 0)
+++ sandbox/tschaub/xdomain/examples/tile-extent.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>OpenLayers Tile Extent Example</title>
+ <link rel="stylesheet" href="../theme/default/style.css" type="text/css">
+ <link rel="stylesheet" href="../theme/default/google.css" type="text/css">
+ <link rel="stylesheet" href="style.css" type="text/css">
+ </head>
+ <body>
+ <h1 id="title">Tile Extent</h1>
+ <div id="tags">
+ grid, tileExtent
+ </div>
+ <p id="shortdesc">
+ Demonstrates the use of the tileExtent property to differentiate
+ between the maximum extent and the tile extent for a layer.
+ </p>
+ <div id="map" class="smallmap"></div>
+ <div id="docs">
+ <p>
+ This example uses a layer that requests map tiles from a WMS
+ that only generates image responses for requests that align with
+ a particular tile lattice. In this case, the layer's
+ <code>maxExtent</code> does not align with that tile lattice.
+ To configure the layer with a tile extent that conforms to the
+ tile extent configured on the server, use the layer's
+ <code>tileExtent</code> property.
+ </p><p>
+ View the <a href="tile-extent.js" target="_blank">tile-extent.js</a>
+ source to see how this is done
+ </p>
+ </div>
+ <script src="../lib/OpenLayers.js"></script>
+ <script src="tile-extent.js"></script>
+ </body>
+</html>
Copied: sandbox/tschaub/xdomain/examples/tile-extent.js (from rev 11028, trunk/openlayers/examples/tile-extent.js)
===================================================================
--- sandbox/tschaub/xdomain/examples/tile-extent.js (rev 0)
+++ sandbox/tschaub/xdomain/examples/tile-extent.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,16 @@
+var map = new OpenLayers.Map({
+ div: "map",
+ maxExtent: new OpenLayers.Bounds(-130, 30, -80, 55),
+ maxResolution: 360 / 256 / Math.pow(2, 4),
+ numZoomLevels: 12,
+ layers: [
+ new OpenLayers.Layer.WMS(
+ "Global Imagery",
+ "http://maps.opengeo.org/geowebcache/service/wms",
+ {layers: "bluemarble"},
+ {tileExtent: new OpenLayers.Bounds(-180, -90, 180, 90)}
+ )
+ ],
+ center: new OpenLayers.LonLat(-110, 45),
+ zoom: 0
+});
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Ajax.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Ajax.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Ajax.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -6,6 +6,7 @@
/**
* @requires OpenLayers/Request/XMLHttpRequest.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
OpenLayers.ProxyHost = "";
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Bounds.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Bounds.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Bounds.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,12 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Class.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Class.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Class.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/SingleFile.js
+ */
+
+/**
* Constructor: OpenLayers.Class
* Base class used to construct all other classes. Includes support for
* multiple inheritance.
@@ -106,3 +110,50 @@
OpenLayers.Util.extend(C.prototype, o);
}
};
+
+/**
+ * APIFunction: extend
+ * Copy all properties of a source object to a destination object. Modifies
+ * the passed in destination object. Any properties on the source object
+ * that are set to undefined will not be (re)set on the destination object.
+ *
+ * Parameters:
+ * destination - {Object} The object that will be modified
+ * source - {Object} The object with properties to be set on the destination
+ *
+ * Returns:
+ * {Object} The destination object.
+ */
+OpenLayers.Util = OpenLayers.Util || {};
+OpenLayers.Util.extend = function(destination, source) {
+ destination = destination || {};
+ if (source) {
+ for (var property in source) {
+ var value = source[property];
+ if (value !== undefined) {
+ destination[property] = value;
+ }
+ }
+
+ /**
+ * IE doesn't include the toString property when iterating over an object's
+ * properties with the for(property in object) syntax. Explicitly check if
+ * the source has its own toString property.
+ */
+
+ /*
+ * FF/Windows < 2.0.0.13 reports "Illegal operation on WrappedNative
+ * prototype object" when calling hawOwnProperty if the source object
+ * is an instance of window.Event.
+ */
+
+ var sourceIsEvt = typeof window.Event == "function"
+ && source instanceof window.Event;
+
+ if (!sourceIsEvt
+ && source.hasOwnProperty && source.hasOwnProperty("toString")) {
+ destination.toString = source.toString;
+ }
+ }
+ return destination;
+};
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Element.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Element.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Element.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,14 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/Util.js
+ * @requires OpenLayers/BaseTypes.js
+ */
+
+/**
* Namespace: OpenLayers.Element
*/
OpenLayers.Element = {
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/LonLat.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/LonLat.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/LonLat.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,12 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Pixel.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Pixel.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Pixel.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,12 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Size.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Size.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes/Size.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+/**
* Class: OpenLayers.Size
* Instances of this class represent a width/height pair
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/BaseTypes.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,16 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
- * @requires OpenLayers/BaseTypes/Class.js
- * @requires OpenLayers/BaseTypes/LonLat.js
- * @requires OpenLayers/BaseTypes/Size.js
- * @requires OpenLayers/BaseTypes/Pixel.js
- * @requires OpenLayers/BaseTypes/Bounds.js
- * @requires OpenLayers/BaseTypes/Element.js
- * @requires OpenLayers/Lang/en.js
+ * @requires OpenLayers/Lang.js
* @requires OpenLayers/Console.js
*/
@@ -666,7 +660,7 @@
// check offset
if (type !== "Z") {
var hoursOffset = parseInt(type, 10);
- var minutesOffset = parseInt(match[8]) || 0;
+ var minutesOffset = parseInt(match[8], 10) || 0;
var offset = -1000 * (60 * (hoursOffset * 60) + minutesOffset * 60);
date = new Date(date.getTime() + offset);
}
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Console.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Console.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Console.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+/**
* Namespace: OpenLayers.Console
* The OpenLayers.Console namespace is used for debugging and error logging.
* If the Firebug Lite (../Firebug/firebug.js) is included before this script,
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ArgParser.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ArgParser.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ArgParser.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Attribution.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Attribution.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Attribution.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Button.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Button.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Button.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragFeature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragFeature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragFeature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragPan.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragPan.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/DragPan.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/DrawFeature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/DrawFeature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/DrawFeature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/EditingToolbar.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/EditingToolbar.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/EditingToolbar.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/GetFeature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/GetFeature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/GetFeature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Graticule.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Graticule.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Graticule.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,11 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Control.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/KeyboardDefaults.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/KeyboardDefaults.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/KeyboardDefaults.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/LayerSwitcher.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/LayerSwitcher.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/LayerSwitcher.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,12 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Control.js
+ * @requires OpenLayers/Lang.js
+ * @requires Rico/Corner.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Measure.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Measure.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Measure.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ModifyFeature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ModifyFeature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ModifyFeature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseDefaults.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseDefaults.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseDefaults.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/MousePosition.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/MousePosition.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/MousePosition.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseToolbar.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseToolbar.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/MouseToolbar.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavToolbar.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavToolbar.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavToolbar.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Navigation.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Navigation.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Navigation.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavigationHistory.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavigationHistory.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/NavigationHistory.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/OverviewMap.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/OverviewMap.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/OverviewMap.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Pan.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Pan.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Pan.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanPanel.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanPanel.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanPanel.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoom.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoom.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoom.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoomBar.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoomBar.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/PanZoomBar.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Panel.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Panel.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Panel.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Permalink.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Permalink.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Permalink.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -7,6 +7,7 @@
/**
* @requires OpenLayers/Control.js
* @requires OpenLayers/Control/ArgParser.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/SLDSelect.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/SLDSelect.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/SLDSelect.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Scale.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Scale.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Scale.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -6,6 +6,7 @@
/**
* @requires OpenLayers/Control.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ScaleLine.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ScaleLine.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ScaleLine.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/SelectFeature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/SelectFeature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/SelectFeature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Snapping.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Snapping.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Snapping.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -165,6 +165,14 @@
* filter - {OpenLayers.Filter} Optional filter to evaluate to determine if
* feature is eligible for snapping. If filter evaluates to true for a
* target feature a vertex may be snapped to the feature.
+ * minResolution - {Number} If a minResolution is provided, snapping to this
+ * target will only be considered if the map resolution is greater than
+ * or equal to this value (the minResolution is inclusive). Default is
+ * no minimum resolution limit.
+ * maxResolution - {Number} If a maxResolution is provided, snapping to this
+ * target will only be considered if the map resolution is strictly
+ * less than this value (the maxResolution is exclusive). Default is
+ * no maximum resolution limit.
*/
initialize: function(options) {
// concatenate events specific to measure with those from the base
@@ -436,10 +444,21 @@
* Returns null if candidate is not eligible for snapping.
*/
testTarget: function(target, loc) {
+ var resolution = this.layer.map.getResolution();
+ if ("minResolution" in target) {
+ if (resolution < target.minResolution) {
+ return null;
+ }
+ }
+ if ("maxResolution" in target) {
+ if (resolution >= target.maxResolution) {
+ return null;
+ }
+ }
var tolerance = {
- node: this.getGeoTolerance(target.nodeTolerance),
- vertex: this.getGeoTolerance(target.vertexTolerance),
- edge: this.getGeoTolerance(target.edgeTolerance)
+ node: this.getGeoTolerance(target.nodeTolerance, resolution),
+ vertex: this.getGeoTolerance(target.vertexTolerance, resolution),
+ edge: this.getGeoTolerance(target.edgeTolerance, resolution)
};
// this could be cached if we don't support setting tolerance values directly
var maxTolerance = Math.max(
@@ -512,12 +531,12 @@
*
* Parameters:
* tolerance - {Number} A tolerance value in pixels.
+ * resolution - {Number} Map resolution.
*
* Returns:
* {Number} A tolerance value in map units.
*/
- getGeoTolerance: function(tolerance) {
- var resolution = this.layer.map.getResolution();
+ getGeoTolerance: function(tolerance, resolution) {
if(resolution !== this.resolution) {
this.resolution = resolution;
this.geoToleranceCache = {};
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/Split.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/Split.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/Split.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/TransformFeature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/TransformFeature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/TransformFeature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMSGetFeatureInfo.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMSGetFeatureInfo.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMSGetFeatureInfo.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -345,28 +345,36 @@
layerNames = layerNames.concat(layers[i].params.LAYERS);
styleNames = styleNames.concat(this.getStyleNames(layers[i]));
}
+ var firstLayer = layers[0];
+ // use the firstLayer's projection if it matches the map projection -
+ // this assumes that all layers will be available in this projection
+ var projection = this.map.getProjection();
+ var layerProj = firstLayer.projection;
+ if (layerProj && layerProj.equals(this.map.getProjectionObject())) {
+ projection = layerProj.getCode();
+ }
var params = OpenLayers.Util.extend({
service: "WMS",
- version: layers[0].params.VERSION,
+ version: firstLayer.params.VERSION,
request: "GetFeatureInfo",
layers: layerNames,
query_layers: layerNames,
styles: styleNames,
bbox: this.map.getExtent().toBBOX(null,
- layers[0].reverseAxisOrder()),
+ firstLayer.reverseAxisOrder()),
feature_count: this.maxFeatures,
height: this.map.getSize().h,
width: this.map.getSize().w,
format: format,
info_format: this.infoFormat
- }, (parseFloat(layers[0].params.VERSION) >= 1.3) ?
+ }, (parseFloat(firstLayer.params.VERSION) >= 1.3) ?
{
- crs: this.map.getProjection(),
+ crs: projection,
i: clickPosition.x,
j: clickPosition.y
} :
{
- srs: this.map.getProjection(),
+ srs: projection,
x: clickPosition.x,
y: clickPosition.y
}
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMTSGetFeatureInfo.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMTSGetFeatureInfo.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/WMTSGetFeatureInfo.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomBox.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomBox.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomBox.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomIn.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomIn.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomIn.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomOut.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomOut.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomOut.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomPanel.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomPanel.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomPanel.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomToMaxExtent.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomToMaxExtent.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control/ZoomToMaxExtent.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Control.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Control.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Control.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Console.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Events.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Events.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Events.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -742,7 +742,7 @@
// fast path
if(!listeners || listeners.length == 0) {
- return;
+ return undefined;
}
// prep evt object with object & div references
@@ -758,7 +758,8 @@
// execute all callbacks registered for specified type
// get a clone of the listeners array to
// allow for splicing during callbacks
- var listeners = listeners.slice(), continueChain;
+ listeners = listeners.slice();
+ var continueChain;
for (var i=0, len=listeners.length; i<len; i++) {
var callback = listeners[i];
// bind the context to callback.obj
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Feature/Vector.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Feature/Vector.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Feature/Vector.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -267,7 +267,7 @@
if(!this.layer || !this.geometry.move){
//do nothing if no layer or immoveable geometry
- return;
+ return undefined;
}
var pixel;
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Feature/WFS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Feature/WFS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Feature/WFS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Feature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Feature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Feature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,11 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
* @requires OpenLayers/Marker.js
* @requires OpenLayers/Popup/AnchoredBubble.js
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Comparison.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Comparison.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Comparison.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -109,9 +109,10 @@
}
var result = false;
var got = context[this.property];
+ var exp;
switch(this.type) {
case OpenLayers.Filter.Comparison.EQUAL_TO:
- var exp = this.value;
+ exp = this.value;
if(!this.matchCase &&
typeof got == "string" && typeof exp == "string") {
result = (got.toUpperCase() == exp.toUpperCase());
@@ -120,7 +121,7 @@
}
break;
case OpenLayers.Filter.Comparison.NOT_EQUAL_TO:
- var exp = this.value;
+ exp = this.value;
if(!this.matchCase &&
typeof got == "string" && typeof exp == "string") {
result = (got.toUpperCase() != exp.toUpperCase());
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Filter/FeatureId.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Filter/FeatureId.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Filter/FeatureId.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Logical.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Logical.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Logical.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -70,9 +70,10 @@
* {Boolean} The filter applies.
*/
evaluate: function(context) {
+ var i, len;
switch(this.type) {
case OpenLayers.Filter.Logical.AND:
- for (var i=0, len=this.filters.length; i<len; i++) {
+ for (i=0, len=this.filters.length; i<len; i++) {
if (this.filters[i].evaluate(context) == false) {
return false;
}
@@ -80,7 +81,7 @@
return true;
case OpenLayers.Filter.Logical.OR:
- for (var i=0, len=this.filters.length; i<len; i++) {
+ for (i=0, len=this.filters.length; i<len; i++) {
if (this.filters[i].evaluate(context) == true) {
return true;
}
@@ -90,6 +91,7 @@
case OpenLayers.Filter.Logical.NOT:
return (!this.filters[0].evaluate(context));
}
+ return undefined;
},
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Spatial.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Spatial.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Filter/Spatial.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -6,6 +6,7 @@
/**
* @requires OpenLayers/Filter.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Filter.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Filter.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Filter.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,11 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
* @requires OpenLayers/Style.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML/Features.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML/Features.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML/Features.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/ArcXML.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/Atom.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/Atom.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/Atom.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetDomain.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/CSWGetRecords.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/Context.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/Context.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/Context.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_1_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_1_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter/v1_1_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/Filter.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/Base.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/Base.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/Base.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v2.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v2.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v2.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v3.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v3.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML/v3.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/GML.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -13,6 +13,7 @@
* @requires OpenLayers/Geometry/Polygon.js
* @requires OpenLayers/Geometry/MultiPolygon.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/GPX.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/GPX.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/GPX.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -162,10 +162,10 @@
// node is either a wpt, trk or rte
// attributes are children of the form <attr>value</attr>
var attributes = {};
- var attrNode = node.firstChild;
+ var attrNode = node.firstChild, value, name;
while(attrNode) {
if(attrNode.nodeType == 1) {
- var value = attrNode.firstChild;
+ value = attrNode.firstChild;
if(value.nodeType == 3 || value.nodeType == 4) {
name = (attrNode.prefix) ?
attrNode.nodeName.split(":")[1] :
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoJSON.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoJSON.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoJSON.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoRSS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoRSS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/GeoRSS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/JSON.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/JSON.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/JSON.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -60,6 +60,14 @@
pretty: false,
/**
+ * Property: nativeJSON
+ * {Boolean} Does the browser support native json?
+ */
+ nativeJSON: (function() {
+ return !!(window.JSON && typeof JSON.parse == "function" && typeof JSON.stringify == "function");
+ })(),
+
+ /**
* Constructor: OpenLayers.Format.JSON
* Create a new parser for JSON.
*
@@ -87,15 +95,18 @@
* {Object} An object, array, string, or number .
*/
read: function(json, filter) {
- /**
- * Parsing happens in three stages. In the first stage, we run the text
- * against a regular expression which looks for non-JSON
- * characters. We are especially concerned with '()' and 'new'
- * because they can cause invocation, and '=' because it can cause
- * mutation. But just to be safe, we will reject all unexpected
- * characters.
- */
- try {
+ var object;
+ if (this.nativeJSON) {
+ object = JSON.parse(json, filter);
+ } else try {
+ /**
+ * Parsing happens in three stages. In the first stage, we run the
+ * text against a regular expression which looks for non-JSON
+ * characters. We are especially concerned with '()' and 'new'
+ * because they can cause invocation, and '=' because it can
+ * cause mutation. But just to be safe, we will reject all
+ * unexpected characters.
+ */
if (/^[\],:{}\s]*$/.test(json.replace(/\\["\\\/bfnrtu]/g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
@@ -107,7 +118,7 @@
* begin a block or an object literal. We wrap the text in
* parens to eliminate the ambiguity.
*/
- var object = eval('(' + json + ')');
+ object = eval('(' + json + ')');
/**
* In the optional third stage, we recursively walk the new
@@ -127,17 +138,16 @@
}
object = walk('', object);
}
-
- if(this.keepData) {
- this.data = object;
- }
-
- return object;
}
} catch(e) {
// Fall through if the regexp test fails.
}
- return null;
+
+ if(this.keepData) {
+ this.data = object;
+ }
+
+ return object;
},
/**
@@ -159,7 +169,9 @@
var type = typeof value;
if(this.serialize[type]) {
try {
- json = this.serialize[type].apply(this, [value]);
+ json = (!this.pretty && this.nativeJSON) ?
+ JSON.stringify(value) :
+ this.serialize[type].apply(this, [value]);
} catch(err) {
OpenLayers.Console.error("Trouble serializing: " + err);
}
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/KML.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/KML.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/KML.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -12,6 +12,7 @@
* @requires OpenLayers/Geometry/Collection.js
* @requires OpenLayers/Request/XMLHttpRequest.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
* @requires OpenLayers/Projection.js
*/
@@ -353,11 +354,10 @@
var types = ["LineStyle", "PolyStyle", "IconStyle", "BalloonStyle",
"LabelStyle"];
- var type, nodeList, geometry, parser;
+ var type, styleTypeNode, nodeList, geometry, parser;
for(var i=0, len=types.length; i<len; ++i) {
type = types[i];
- styleTypeNode = this.getElementsByTagNameNS(node,
- "*", type)[0];
+ styleTypeNode = this.getElementsByTagNameNS(node, "*", type)[0];
if(!styleTypeNode) {
continue;
}
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/OSM.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/OSM.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/OSM.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -374,13 +374,14 @@
return already_exists ? [] : [node];
},
linestring: function(feature) {
+ var id;
var nodes = [];
var geometry = feature.geometry;
if (feature.osm_id) {
id = feature.osm_id;
} else {
- id = -this.osm_id;
- this.osm_id++;
+ id = -this.osm_id;
+ this.osm_id++;
}
var way = this.createElementNS(null, "way");
way.setAttribute("id", id);
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_1_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_1_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSCommon/v1_1_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext/v0_3_1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext/v0_3_1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext/v0_3_1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/OWSContext.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/SLD.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSCapabilities.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetObservation.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetObservation.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/SOSGetObservation.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/Text.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/Text.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/Text.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -6,6 +6,7 @@
/**
* @requires OpenLayers/Format/GML.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSCapabilities.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSDescribeFeatureType.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSDescribeFeatureType.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFSDescribeFeatureType.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_1_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_1_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST/v1_1_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WFST.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WKT.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WKT.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WKT.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -95,7 +95,7 @@
*/
write: function(features) {
var collection, geometry, type, data, isCollection;
- if(features.constructor == Array) {
+ if (features.constructor == Array) {
collection = features;
isCollection = true;
} else {
@@ -103,31 +103,45 @@
isCollection = false;
}
var pieces = [];
- if(isCollection) {
+ if (isCollection) {
pieces.push('GEOMETRYCOLLECTION(');
}
- for(var i=0, len=collection.length; i<len; ++i) {
- if(isCollection && i>0) {
+ for (var i=0, len=collection.length; i<len; ++i) {
+ if (isCollection && i>0) {
pieces.push(',');
}
geometry = collection[i].geometry;
- type = geometry.CLASS_NAME.split('.')[2].toLowerCase();
- if(!this.extract[type]) {
- return null;
- }
- if (this.internalProjection && this.externalProjection) {
- geometry = geometry.clone();
- geometry.transform(this.internalProjection,
- this.externalProjection);
- }
- data = this.extract[type].apply(this, [geometry]);
- pieces.push(type.toUpperCase() + '(' + data + ')');
+ pieces.push(this.extractGeometry(geometry));
}
- if(isCollection) {
+ if (isCollection) {
pieces.push(')');
}
return pieces.join('');
},
+
+ /**
+ * Method: extractGeometry
+ * Entry point to construct the WKT for a single Geometry object.
+ *
+ * Parameters:
+ * geometry - {<OpenLayers.Geometry.Geometry>}
+ *
+ * Returns:
+ * {String} A WKT string of representing the geometry
+ */
+ extractGeometry: function(geometry) {
+ var type = geometry.CLASS_NAME.split('.')[2].toLowerCase();
+ if (!this.extract[type]) {
+ return null;
+ }
+ if (this.internalProjection && this.externalProjection) {
+ geometry = geometry.clone();
+ geometry.transform(this.internalProjection, this.externalProjection);
+ }
+ var wktType = type == 'collection' ? 'GEOMETRYCOLLECTION' : type.toUpperCase();
+ var data = wktType + '(' + this.extract[type].apply(this, [geometry]) + ')';
+ return data;
+ },
/**
* Object with properties corresponding to the geometry types.
@@ -207,7 +221,7 @@
/**
* Return an array of polygon arrays from a multipolygon.
* @param {<OpenLayers.Geometry.MultiPolygon>} multipolygon
- * @returns {Array} An array of polygon arrays representing
+ * @returns {String} An array of polygon arrays representing
* the multipolygon
*/
'multipolygon': function(multipolygon) {
@@ -218,6 +232,19 @@
')');
}
return array.join(',');
+ },
+
+ /**
+ * Return the WKT portion between 'GEOMETRYCOLLECTION(' and ')' for an <OpenLayers.Geometry.Collection>
+ * @param {<OpenLayers.Geometry.Collection>} collection
+ * @returns {String} internal WKT representation of the collection
+ */
+ 'collection': function(collection) {
+ var array = [];
+ for(var i=0, len=collection.components.length; i<len; ++i) {
+ array.push(this.extractGeometry.apply(this, [collection.components[i]]));
+ }
+ return array.join(',');
}
},
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_1_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_1_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC/v1_1_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMC.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,8 +1,8 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
- * full list of contributors). Published under the Clear BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
- * full text of the license. */
-
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
+ * full list of contributors). Published under the Clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
/**
* @requires OpenLayers/Format/WMSCapabilities/v1.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,8 +1,8 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
- * full list of contributors). Published under the Clear BSD license.
- * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
- * full text of the license. */
-
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
+ * full list of contributors). Published under the Clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
/**
* @requires OpenLayers/Format/WMSCapabilities/v1_3.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSCapabilities.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSDescribeLayer.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSGetFeatureInfo.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSGetFeatureInfo.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMSGetFeatureInfo.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/WMTSCapabilities.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format/XML.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format/XML.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format/XML.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Format.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Format.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Format.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,11 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Collection.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Collection.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Collection.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -108,12 +108,19 @@
*/
calculateBounds: function() {
this.bounds = null;
- if ( this.components && this.components.length > 0) {
- this.setBounds(this.components[0].getBounds());
- for (var i=1, len=this.components.length; i<len; i++) {
- this.extendBounds(this.components[i].getBounds());
+ var bounds = new OpenLayers.Bounds();
+ var components = this.components;
+ if (components) {
+ for (var i=0, len=components.length; i<len; i++) {
+ bounds.extend(components[i].getBounds());
}
}
+ // to preserve old behavior, we only set bounds if non-null
+ // in the future, we could add bounds.isEmpty()
+ if (bounds.left != null && bounds.bottom != null &&
+ bounds.right != null && bounds.top != null) {
+ this.setBounds(bounds);
+ }
},
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Curve.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Curve.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Curve.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LineString.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LineString.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LineString.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -547,6 +547,98 @@
}
return best;
},
+
+ /**
+ * APIMethod: simplify
+ * This function will return a simplified LineString.
+ * Simplification is based on the Douglas-Peucker algorithm.
+ *
+ *
+ * Parameters:
+ * tolerance - {number} threshhold for simplification in map units
+ *
+ * Returns:
+ * {OpenLayers.Geometry.LineString} the simplified LineString
+ */
+ simplify: function(tolerance){
+ if (this && this !== null) {
+ var points = this.getVertices();
+ if (points.length < 3) {
+ return this;
+ }
+
+ var compareNumbers = function(a, b){
+ return (a-b);
+ };
+
+ /**
+ * Private function doing the Douglas-Peucker reduction
+ */
+ var douglasPeuckerReduction = function(points, firstPoint, lastPoint, tolerance){
+ var maxDistance = 0;
+ var indexFarthest = 0;
+
+ for (var index = firstPoint, distance; index < lastPoint; index++) {
+ distance = perpendicularDistance(points[firstPoint], points[lastPoint], points[index]);
+ if (distance > maxDistance) {
+ maxDistance = distance;
+ indexFarthest = index;
+ }
+ }
+
+ if (maxDistance > tolerance && indexFarthest != firstPoint) {
+ //Add the largest point that exceeds the tolerance
+ pointIndexsToKeep.push(indexFarthest);
+ douglasPeuckerReduction(points, firstPoint, indexFarthest, tolerance);
+ douglasPeuckerReduction(points, indexFarthest, lastPoint, tolerance);
+ }
+ };
+
+ /**
+ * Private function calculating the perpendicular distance
+ * TODO: check whether OpenLayers.Geometry.LineString::distanceTo() is faster or slower
+ */
+ var perpendicularDistance = function(point1, point2, point){
+ //Area = |(1/2)(x1y2 + x2y3 + x3y1 - x2y1 - x3y2 - x1y3)| *Area of triangle
+ //Base = v((x1-x2)²+(x1-x2)²) *Base of Triangle*
+ //Area = .5*Base*H *Solve for height
+ //Height = Area/.5/Base
+
+ var area = Math.abs(0.5 * (point1.x * point2.y + point2.x * point.y + point.x * point1.y - point2.x * point1.y - point.x * point2.y - point1.x * point.y));
+ var bottom = Math.sqrt(Math.pow(point1.x - point2.x, 2) + Math.pow(point1.y - point2.y, 2));
+ var height = area / bottom * 2;
+
+ return height;
+ };
+
+ var firstPoint = 0;
+ var lastPoint = points.length - 1;
+ var pointIndexsToKeep = [];
+
+ //Add the first and last index to the keepers
+ pointIndexsToKeep.push(firstPoint);
+ pointIndexsToKeep.push(lastPoint);
+
+ //The first and the last point cannot be the same
+ while (points[firstPoint].equals(points[lastPoint])) {
+ lastPoint--;
+ //Addition: the first point not equal to first point in the LineString is kept as well
+ pointIndexsToKeep.push(lastPoint);
+ }
+
+ douglasPeuckerReduction(points, firstPoint, lastPoint, tolerance);
+ var returnPoints = [];
+ pointIndexsToKeep.sort(compareNumbers);
+ for (var index = 0; index < pointIndexsToKeep.length; index++) {
+ returnPoints.push(points[pointIndexsToKeep[index]]);
+ }
+ return new OpenLayers.Geometry.LineString(returnPoints);
+
+ }
+ else {
+ return this;
+ }
+ },
CLASS_NAME: "OpenLayers.Geometry.LineString"
});
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LinearRing.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LinearRing.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/LinearRing.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiLineString.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiLineString.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiLineString.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPoint.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPoint.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPoint.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPolygon.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPolygon.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/MultiPolygon.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Point.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Point.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Point.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Polygon.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Polygon.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Polygon.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Rectangle.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Rectangle.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Rectangle.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Surface.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Surface.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry/Surface.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Geometry.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Geometry.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Geometry.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Format/WKT.js
* @requires OpenLayers/Feature/Vector.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Box.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Box.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Box.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -43,22 +43,25 @@
*
* Parameters:
* control - {<OpenLayers.Control>}
- * callbacks - {Object} An object containing a single function to be
- * called when the drag operation is finished.
- * The callback should expect to recieve a single
- * argument, the point geometry.
+ * callbacks - {Object} An object with a "done" property whose value is a
+ * callback to be called when the box drag operation is finished.
+ * The callback should expect to recieve a single argument, the box
+ * bounds or a pixel. If the box dragging didn't span more than a 5
+ * pixel distance, a pixel will be returned instead of a bounds object.
* options - {Object}
*/
initialize: function(control, callbacks, options) {
OpenLayers.Handler.prototype.initialize.apply(this, arguments);
- var callbacks = {
- "down": this.startBox,
- "move": this.moveBox,
- "out": this.removeBox,
- "up": this.endBox
- };
this.dragHandler = new OpenLayers.Handler.Drag(
- this, callbacks, {keyMask: this.keyMask});
+ this,
+ {
+ down: this.startBox,
+ move: this.moveBox,
+ out: this.removeBox,
+ up: this.endBox
+ },
+ {keyMask: this.keyMask}
+ );
},
/**
@@ -90,7 +93,7 @@
*/
startBox: function (xy) {
this.zoomBox = OpenLayers.Util.createDiv('zoomBox',
- this.dragHandler.start);
+ new OpenLayers.Pixel(-9999, -9999));
this.zoomBox.className = this.boxDivClassName;
this.zoomBox.style.zIndex = this.map.Z_INDEX_BASE["Popup"] - 1;
this.map.viewPortDiv.appendChild(this.zoomBox);
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Click.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Click.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Click.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Drag.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Drag.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Drag.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -94,8 +94,7 @@
/**
* Property: documentEvents
- * {<OpenLayers.Events>} Event instance for observing document events. Will
- * be set on mouseout if documentDrag is set to true.
+ * {Boolean} Are we currently observing document events?
*/
documentEvents: null,
@@ -117,6 +116,19 @@
*/
initialize: function(control, callbacks, options) {
OpenLayers.Handler.prototype.initialize.apply(this, arguments);
+
+ if (this.documentDrag === true) {
+ var me = this;
+ this._docMove = function(evt) {
+ me.mousemove({
+ xy: {x: evt.clientX, y: evt.clientY},
+ element: document
+ });
+ };
+ this._docUp = function(evt) {
+ me.mouseup({xy: {x: evt.clientX, y: evt.clientY}});
+ };
+ }
},
/**
@@ -232,7 +244,7 @@
// registered with the map
this.setEvent(evt);
} else {
- this.destroyDocumentEvents();
+ this.removeDocumentEvents();
}
}
if (this.interval > 0) {
@@ -272,7 +284,7 @@
if (this.started) {
if(this.documentDrag === true && this.documentEvents) {
this.adjustXY(evt);
- this.destroyDocumentEvents();
+ this.removeDocumentEvents();
}
var dragged = (this.start != this.last);
this.started = false;
@@ -301,17 +313,9 @@
* {Boolean} Let the event propagate.
*/
mouseout: function (evt) {
- if (this.started && OpenLayers.Util.mouseLeft(evt, this.map.div)) {
+ if (this.started && OpenLayers.Util.mouseLeft(evt, this.map.viewPortDiv)) {
if(this.documentDrag === true) {
- this.documentEvents = new OpenLayers.Events(this, document,
- null, null, {includeXY: true});
- this.documentEvents.on({
- mousemove: this.mousemove,
- mouseup: this.mouseup
- });
- OpenLayers.Element.addClass(
- document.body, "olDragDown"
- );
+ this.addDocumentEvents();
} else {
var dragged = (this.start != this.last);
this.started = false;
@@ -403,18 +407,28 @@
},
/**
- * Method: destroyDocumentEvents
- * Destroys the events instance that gets added to the document body when
- * documentDrag is true and the mouse cursor leaves the map viewport while
- * dragging.
+ * Method: addDocumentEvents
+ * Start observing document events when documentDrag is true and the mouse
+ * cursor leaves the map viewport while dragging.
*/
- destroyDocumentEvents: function() {
- OpenLayers.Element.removeClass(
- document.body, "olDragDown"
- );
- this.documentEvents.destroy();
- this.documentEvents = null;
+ addDocumentEvents: function() {
+ OpenLayers.Element.addClass(document.body, "olDragDown");
+ this.documentEvents = true;
+ OpenLayers.Event.observe(document, "mousemove", this._docMove);
+ OpenLayers.Event.observe(document, "mouseup", this._docUp);
},
+
+ /**
+ * Method: removeDocumentEvents
+ * Stops observing document events when documentDrag is true and the mouse
+ * cursor re-enters the map viewport while dragging.
+ */
+ removeDocumentEvents: function() {
+ OpenLayers.Element.removeClass(document.body, "olDragDown");
+ this.documentEvents = false;
+ OpenLayers.Event.stopObserving(document, "mousemove", this._docMove);
+ OpenLayers.Event.stopObserving(document, "mouseup", this._docUp);
+ },
CLASS_NAME: "OpenLayers.Handler.Drag"
});
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Feature.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Feature.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Feature.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Hover.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Hover.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Hover.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Keyboard.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Keyboard.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Keyboard.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/MouseWheel.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/MouseWheel.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/MouseWheel.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Path.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Path.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Path.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Point.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Point.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Point.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Polygon.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Polygon.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/Polygon.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -162,7 +162,7 @@
// ensure that new ring doesn't contain any other rings
var target;
outer: for (var i=rings.length-2; i>0; --i) {
- points = rings[i].components;
+ var points = rings[i].components;
for (var j=0, jj=points.length; j<jj; ++j) {
if (ring.containsPoint(points[j])) {
modified = false;
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler/RegularPolygon.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler/RegularPolygon.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler/RegularPolygon.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Handler.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Handler.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Handler.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Events.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Icon.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Icon.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Icon.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+/**
* Class: OpenLayers.Icon
*
* The icon represents a graphical icon on the screen. Typically used in
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Lang.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Lang.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Lang.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes.js
* @requires OpenLayers/Console.js
*/
@@ -101,7 +102,7 @@
*/
translate: function(key, context) {
var dictionary = OpenLayers.Lang[OpenLayers.Lang.getCode()];
- var message = dictionary[key];
+ var message = dictionary && dictionary[key];
if(!message) {
// Message not found, fall back to message key
message = key;
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcGIS93Rest.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcGIS93Rest.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcGIS93Rest.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcIMS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcIMS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/ArcIMS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Copied: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Bing.js (from rev 11028, trunk/openlayers/lib/OpenLayers/Layer/Bing.js)
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Bing.js (rev 0)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Bing.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,291 @@
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
+ * full list of contributors). Published under the Clear BSD license.
+ * See http://svn.openlayers.org/trunk/openlayers/license.txt for the
+ * full text of the license. */
+
+/**
+ * @requires OpenLayers/Layer/XYZ.js
+ */
+
+/**
+ * Class: OpenLayers.Layer.Bing
+ * Bing layer using direct tile access as provided by Bing Maps REST Services.
+ * See http://msdn.microsoft.com/en-us/library/ff701713.aspx for more
+ * information.
+ *
+ * Inherits from:
+ * - <OpenLayers.Layer.XYZ>
+ */
+OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, {
+
+ /**
+ * Property: attributionTemplate
+ * {String}
+ */
+ attributionTemplate: '<span class="olBingAttribution ${type}">' +
+ '<div><a target="_blank" href="http://www.bing.com/maps/">' +
+ '<img src="${logo}"></img></div></a>${copyrights}' +
+ '<a style="white-space: nowrap" target="_blank" '+
+ 'href="http://www.microsoft.com/maps/product/terms.html">' +
+ 'Terms of Use</a></span>',
+
+ /**
+ * Property: metadata
+ * {Object} Metadata for this layer, as returned by the callback script
+ */
+ metadata: null,
+
+ /**
+ * APIProperty: type
+ * {String} The layer identifier. Any non-birdseye imageryType
+ * from http://msdn.microsoft.com/en-us/library/ff701716.aspx can be
+ * used. Default is "Road".
+ */
+ type: "Road",
+
+ /**
+ * Constant: EVENT_TYPES
+ * {Array(String)} Supported application event types. Register a listener
+ * for a particular event with the following syntax:
+ * (code)
+ * layer.events.register(type, obj, listener);
+ * (end)
+ *
+ * Listeners will be called with a reference to an event object. The
+ * properties of this event depends on exactly what happened.
+ *
+ * All event objects have at least the following properties:
+ * object - {Object} A reference to layer.events.object.
+ * element - {DOMElement} A reference to layer.events.element.
+ *
+ * Supported map event types (in addition to those from <OpenLayers.Layer>):
+ * added - Triggered after the layer is added to a map. Listeners
+ * will receive an object with a *map* property referencing the
+ * map and a *layer* property referencing the layer.
+ */
+ EVENT_TYPES: ["added"],
+
+ /**
+ * Constructor: OpenLayers.Layer.Bing
+ * Create a new Bing layer.
+ *
+ * Example:
+ * (code)
+ * var road = new OpenLayers.Layer.Bing({
+ * name: "My Bing Aerial Layer",
+ * type: "Aerial",
+ * key: "my-api-key-here",
+ * });
+ * (end)
+ *
+ * Parameters:
+ * config - {Object} Configuration properties for the layer.
+ *
+ * Required configuration properties:
+ * key - {String} Bing Maps API key for your application. Get one at
+ * http://bingmapsportal.com/.
+ * type - {String} The layer identifier. Any non-birdseye imageryType
+ * from http://msdn.microsoft.com/en-us/library/ff701716.aspx can be
+ * used.
+ *
+ * Any other documented layer properties can be provided in the config object.
+ */
+ initialize: function(options) {
+ // concatenate events specific to vector with those from the base
+ this.EVENT_TYPES =
+ OpenLayers.Layer.Bing.prototype.EVENT_TYPES.concat(
+ OpenLayers.Layer.prototype.EVENT_TYPES
+ );
+
+ options = OpenLayers.Util.applyDefaults({
+ zoomOffset: 1,
+ maxResolution: 78271.51695,
+ sphericalMercator: true
+ }, options)
+ var name = options.name || "Bing " + (options.type || this.type);
+
+ var newArgs = [name, null, options];
+ OpenLayers.Layer.XYZ.prototype.initialize.apply(this, newArgs);
+ this.loadMetadata(this.type);
+ },
+
+ /**
+ * Method: loadMetadata
+ *
+ * Parameters:
+ * imageryType - {String}
+ */
+ loadMetadata: function(imageryType) {
+ this._callbackId = "_callback_" + this.id.replace(/\./g, "_");
+ // link the processMetadata method to the global scope and bind it
+ // to this instance
+ window[this._callbackId] = OpenLayers.Function.bind(
+ OpenLayers.Layer.Bing.processMetadata, this
+ );
+ var url = "http://dev.virtualearth.net/REST/v1/Imagery/Metadata/" +
+ imageryType + "?key=" + this.key + "&jsonp=" + this._callbackId +
+ "&include=ImageryProviders";
+ var script = document.createElement("script");
+ script.type = "text/javascript";
+ script.src = url;
+ script.id = this._callbackId;
+ document.getElementsByTagName("head")[0].appendChild(script);
+ },
+
+ /**
+ * Method: initLayer
+ *
+ * Sets layer properties according to the metadata provided by the API
+ */
+ initLayer: function() {
+ var res = this.metadata.resourceSets[0].resources[0];
+ var url = res.imageUrl.replace("{quadkey}", "${quadkey}");
+ this.url = [];
+ for (var i=0; i<res.imageUrlSubdomains.length; ++i) {
+ this.url.push(url.replace("{subdomain}", res.imageUrlSubdomains[i]));
+ };
+ var resolution;
+ if (this.map && this.map.baseLayer === this && this.map.getCenter()) {
+ // if we are the current base layer and the map was centered
+ // already, we need to remember the current resolution to find a
+ // matching zoom level after the maxResolution changes
+ resolution = this.getResolution();
+ }
+ this.addOptions({
+ maxResolution: 78271.51695 / Math.pow(2, res.zoomMin - 1),
+ numZoomLevels: res.zoomMax - res.zoomMin + 1
+ });
+ // adjust zoom level to match the previous resolution - this triggers a
+ // moveTo on all layers.
+ resolution && this.map.zoomTo(this.getZoomForResolution(resolution));
+ // redraw to replace "blank.gif" tiles with real tiles
+ this.redraw();
+ },
+
+ /**
+ * Method: getURL
+ *
+ * Paramters:
+ * bounds - {<OpenLayers.Bounds>}
+ */
+ getURL: function(bounds) {
+ if (!this.url) {
+ return OpenLayers.Util.getImagesLocation() + "blank.gif";
+ }
+ var xyz = this.getXYZ(bounds), x = xyz.x, y = xyz.y, z = xyz.z;
+ var quadDigits = [];
+ for (var i = z; i > 0; --i) {
+ var digit = '0';
+ var mask = 1 << (i - 1);
+ if ((x & mask) != 0) {
+ digit++;
+ }
+ if ((y & mask) != 0) {
+ digit++;
+ digit++;
+ }
+ quadDigits.push(digit);
+ }
+ var quadKey = quadDigits.join("");
+ var url = this.selectUrl('' + x + y + z, this.url);
+
+ return OpenLayers.String.format(url, {'quadkey': quadKey});
+ },
+
+ /**
+ * Method: updateAttribution
+ * Updates the attribution according to the requirements outlined in
+ * http://gis.638310.n2.nabble.com/Bing-imagery-td5789168.html
+ */
+ updateAttribution: function() {
+ var metadata = this.metadata;
+ if (!metadata || !this.map) {
+ return;
+ }
+ var res = metadata.resourceSets[0].resources[0];
+ var extent = this.map.getExtent().transform(
+ this.map.getProjectionObject(),
+ new OpenLayers.Projection("EPSG:4326")
+ );
+ var providers = res.imageryProviders, zoom = this.map.getZoom() + 1,
+ copyrights = "", provider, i, ii, j, jj, bbox, coverage;
+ for (i=0,ii=providers.length; i<ii; ++i) {
+ provider = providers[i];
+ for (j=0,jj=provider.coverageAreas.length; j<jj; ++j) {
+ coverage = provider.coverageAreas[j];
+ bbox = OpenLayers.Bounds.fromArray(coverage.bbox);
+ if (extent.intersectsBounds(bbox) &&
+ zoom <= coverage.zoomMax && zoom >= coverage.zoomMin) {
+ copyrights += provider.attribution + " ";
+ }
+ }
+ }
+ this.attribution = OpenLayers.String.format(this.attributionTemplate, {
+ type: this.type.toLowerCase(),
+ logo: metadata.brandLogoUri,
+ copyrights: copyrights
+ });
+ this.map && this.map.events.triggerEvent("changelayer", {layer: this});
+ },
+
+ /**
+ * Method: setMap
+ */
+ setMap: function() {
+ OpenLayers.Layer.XYZ.prototype.setMap.apply(this, arguments);
+ if (this.map.getCenter()) {
+ this.updateAttribution();
+ }
+ this.map.events.register("moveend", this, this.updateAttribution);
+ // TODO: move this event to Layer
+ // http://trac.osgeo.org/openlayers/ticket/2983
+ this.events.triggerEvent("added", {map: this.map, layer: this});
+ },
+
+ /**
+ * APIMethod: clone
+ *
+ * Parameters:
+ * obj - {Object}
+ *
+ * Returns:
+ * {<OpenLayers.Layer.Bing>} An exact clone of this <OpenLayers.Layer.Bing>
+ */
+ clone: function(obj) {
+ if (obj == null) {
+ obj = new OpenLayers.Layer.Bing(this.options);
+ }
+ //get all additions from superclasses
+ obj = OpenLayers.Layer.XYZ.prototype.clone.apply(this, [obj]);
+ // copy/set any non-init, non-simple values here
+ return obj;
+ },
+
+ /**
+ * Method: destroy
+ */
+ destroy: function() {
+ this.map &&
+ this.map.events.unregister("moveend", this, this.updateAttribution);
+ OpenLayers.Layer.XYZ.prototype.destroy.apply(this, arguments);
+ },
+
+ CLASS_NAME: "OpenLayers.Layer.Bing"
+});
+
+/**
+ * Function: OpenLayers.Layer.Bing.processMetadata
+ * This function will be bound to an instance, linked to the global scope with
+ * an id, and called by the JSONP script returned by the API.
+ *
+ * Parameters:
+ * metadata - {Object} metadata as returned by the API
+ */
+OpenLayers.Layer.Bing.processMetadata = function(metadata) {
+ this.metadata = metadata;
+ this.initLayer();
+ var script = document.getElementById(this._callbackId);
+ script.parentNode.removeChild(script);
+ window[this._callbackId] = undefined; // cannot delete from window in IE
+ delete this._callbackId;
+};
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Boxes.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Boxes.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Boxes.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/EventPane.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/EventPane.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/EventPane.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/FixedZoomLevels.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/FixedZoomLevels.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/FixedZoomLevels.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GML.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GML.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GML.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -7,6 +7,7 @@
* @requires OpenLayers/Layer/Vector.js
* @requires OpenLayers/Request/XMLHttpRequest.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GeoRSS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GeoRSS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/GeoRSS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google/v3.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google/v3.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google/v3.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Google.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -8,6 +8,7 @@
* @requires OpenLayers/Layer/SphericalMercator.js
* @requires OpenLayers/Layer/EventPane.js
* @requires OpenLayers/Layer/FixedZoomLevels.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Grid.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Grid.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Grid.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -25,6 +25,12 @@
*/
tileSize: null,
+ /**
+ * APIProperty: tileExtent
+ * {<OpenLayers.Bounds>}
+ */
+ tileExtent: null,
+
/** APIProperty: tileOptions
* {Object} optional configuration options for <OpenLayers.Tile> instances
* created by this Layer, if supported by the tile class.
@@ -446,7 +452,7 @@
* {OpenLayers.Bounds}
*/
getMaxExtent: function() {
- return this.maxExtent;
+ return this.tileExtent || this.maxExtent;
},
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/HTTPRequest.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/HTTPRequest.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/HTTPRequest.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Image.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Image.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Image.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMap.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMap.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMap.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMapCache.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMapCache.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/KaMapCache.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapGuide.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapGuide.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapGuide.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer/Untiled.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer/Untiled.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer/Untiled.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MapServer.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Markers.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Markers.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Markers.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MultiMap.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MultiMap.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/MultiMap.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -6,6 +6,7 @@
/**
* @requires OpenLayers/Layer/EventPane.js
* @requires OpenLayers/Layer/FixedZoomLevels.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/PointTrack.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/PointTrack.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/PointTrack.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/SphericalMercator.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/SphericalMercator.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/SphericalMercator.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TMS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TMS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TMS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Text.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Text.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Text.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TileCache.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TileCache.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/TileCache.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector/RootContainer.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector/RootContainer.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector/RootContainer.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Vector.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -9,6 +9,7 @@
* @requires OpenLayers/StyleMap.js
* @requires OpenLayers/Feature/Vector.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
@@ -876,6 +877,36 @@
getFeatureByFid: function(featureFid) {
return this.getFeatureBy('fid', featureFid);
},
+
+ /**
+ * APIMethod: getFeaturesByAttribute
+ * Returns an array of features that have the given attribute key set to the
+ * given value. Comparison of attribute values takes care of datatypes, e.g.
+ * the string '1234' is not equal to the number 1234.
+ *
+ * Parameters:
+ * attrName - {String}
+ * attrValue - {Mixed}
+ *
+ * Returns:
+ * Array(<OpenLayers.Feature.Vector>) An array of features that have the
+ * passed named attribute set to the given value.
+ */
+ getFeaturesByAttribute: function(attrName, attrValue) {
+ var i,
+ feature,
+ len = this.features.length,
+ foundFeatures = [];
+ for(i = 0; i < len; i++) {
+ feature = this.features[i];
+ if(feature && feature.attributes) {
+ if (feature.attributes[attrName] === attrValue) {
+ foundFeatures.push(feature);
+ }
+ }
+ }
+ return foundFeatures;
+ },
/**
* Unselect the selected features
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/VirtualEarth.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/VirtualEarth.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/VirtualEarth.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -8,6 +8,7 @@
* @requires OpenLayers/Layer/SphericalMercator.js
* @requires OpenLayers/Layer/EventPane.js
* @requires OpenLayers/Layer/FixedZoomLevels.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WFS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WFS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WFS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -9,6 +9,7 @@
* @requires OpenLayers/Layer/Vector.js
* @requires OpenLayers/Layer/Markers.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Post.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Post.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Post.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Untiled.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Untiled.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS/Untiled.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMTS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMTS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WMTS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WorldWind.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WorldWind.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/WorldWind.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/XYZ.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/XYZ.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/XYZ.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -107,7 +107,7 @@
},
/**
- * Method: getUrl
+ * Method: getURL
*
* Parameters:
* bounds - {<OpenLayers.Bounds>}
@@ -118,6 +118,27 @@
* parameters
*/
getURL: function (bounds) {
+ var xyz = this.getXYZ(bounds);
+ var url = this.url;
+ if (url instanceof Array) {
+ var s = '' + xyz.x + xyz.y + xyz.z;
+ url = this.selectUrl(s, url);
+ }
+
+ return OpenLayers.String.format(url, xyz);
+ },
+
+ /**
+ * Method: getXYZ
+ * Calculates x, y and z for the given bounds.
+ *
+ * Parameters:
+ * bounds - {<OpenLayers.Bounds>}
+ *
+ * Returns:
+ * {Object} - an object with x, y and z properties.
+ */
+ getXYZ: function(bounds) {
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.maxExtent.left)
/ (res * this.tileSize.w));
@@ -127,16 +148,7 @@
OpenLayers.Util.indexOf(this.serverResolutions, res) :
this.map.getZoom() + this.zoomOffset;
- var url = this.url;
- var s = '' + x + y + z;
- if (url instanceof Array)
- {
- url = this.selectUrl(s, url);
- }
-
- var path = OpenLayers.String.format(url, {'x': x, 'y': y, 'z': z});
-
- return path;
+ return {'x': x, 'y': y, 'z': z};
},
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Yahoo.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Yahoo.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Yahoo.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -8,6 +8,7 @@
* @requires OpenLayers/Layer/SphericalMercator.js
* @requires OpenLayers/Layer/EventPane.js
* @requires OpenLayers/Layer/FixedZoomLevels.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Zoomify.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Zoomify.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer/Zoomify.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -219,7 +219,7 @@
*/
getImageSize: function() {
if (arguments.length > 0) {
- bounds = this.adjustBounds(arguments[0]);
+ var bounds = this.adjustBounds(arguments[0]);
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.tileOrigin.lon) / (res * this.tileSize.w));
var y = Math.round((this.tileOrigin.lat - bounds.top) / (res * this.tileSize.h));
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Layer.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Layer.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Layer.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,11 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Map.js
* @requires OpenLayers/Projection.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Map.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Map.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Map.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,13 +1,15 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
* @requires OpenLayers/Events.js
* @requires OpenLayers/Tween.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Marker/Box.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Marker/Box.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Marker/Box.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Marker.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Marker.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Marker.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,11 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Events.js
* @requires OpenLayers/Icon.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Anchored.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Anchored.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Anchored.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Popup/AnchoredBubble.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Popup/AnchoredBubble.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Popup/AnchoredBubble.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -6,6 +6,7 @@
/**
* @requires OpenLayers/Popup/Anchored.js
+ * @requires Rico/Corner.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Framed.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Framed.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Popup/Framed.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Popup/FramedCloud.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Popup/FramedCloud.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Popup/FramedCloud.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -6,6 +6,9 @@
/**
* @requires OpenLayers/Popup/Framed.js
* @requires OpenLayers/Util.js
+ * @requires OpenLayers/BaseTypes/Bounds.js
+ * @requires OpenLayers/BaseTypes/Pixel.js
+ * @requires OpenLayers/BaseTypes/Size.js
*/
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Popup.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Popup.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Popup.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
+/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
/**
* Class: OpenLayers.Popup
* A popup is a small div that can opened and closed on the map.
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Projection.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Projection.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Projection.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/FilterSerializer.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/FilterSerializer.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/FilterSerializer.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -33,6 +33,9 @@
switch(filter.type) {
case OpenLayers.Filter.Spatial.BBOX:
params.bbox = filter.value.toArray();
+ if (this.srsInBBOX && filter.projection) {
+ params.bbox.push(filter.projection.getCode());
+ }
break;
case OpenLayers.Filter.Spatial.DWITHIN:
params.tolerance = filter.distance;
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/HTTP.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/HTTP.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/HTTP.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/Console.js
* @requires OpenLayers/Protocol.js
* @requires OpenLayers/Feature/Vector.js
* @requires OpenLayers/Filter/Spatial.js
@@ -79,6 +80,15 @@
wildcarded: false,
/**
+ * APIProperty: srsInBBOX
+ * {Boolean} Include the SRS identifier in BBOX query string parameter.
+ * Default is false. If true and the layer has a projection object set,
+ * any BBOX filter will be serialized with a fifth item identifying the
+ * projection. E.g. bbox=-1000,-1000,1000,1000,EPSG:900913
+ */
+ srsInBBOX: false,
+
+ /**
* Constructor: OpenLayers.Protocol.HTTP
* A class for giving layers generic HTTP protocol.
*
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SOS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL/Gears.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL/Gears.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL/Gears.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/SQL.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -77,7 +77,7 @@
* the response with the default format (WFST) and we need a different
* format for reading.
*/
- readFormat: null,
+ readFormat: null,
/**
* Property: readOptions
@@ -142,12 +142,26 @@
},
/**
- * Method: read
+ * APIMethod: read
* Construct a request for reading new features. Since WFS splits the
* basic CRUD operations into GetFeature requests (for read) and
* Transactions (for all others), this method does not make use of the
* format's read method (that is only about reading transaction
* responses).
+ *
+ * To use a configured protocol to get e.g. a WFS hit count, applications
+ * could do the following:
+ *
+ * (code)
+ * protocol.read({
+ * readOptions: {output: "object"},
+ * resultType: "hits",
+ * maxFeatures: null,
+ * callback: function(resp) {
+ * // process resp.numberOfFeatures here
+ * }
+ * });
+ * (end)
*/
read: function(options) {
OpenLayers.Protocol.prototype.read.apply(this, arguments);
@@ -180,15 +194,18 @@
* options - {Object} The user options passed to the read call.
*/
handleRead: function(response, options) {
+ options = OpenLayers.Util.extend({}, options);
+ OpenLayers.Util.applyDefaults(options, this.options);
+
if(options.callback) {
var request = response.priv;
if(request.status >= 200 && request.status < 300) {
// success
- if (this.readOptions && this.readOptions.output == "object") {
+ if (options.readOptions && options.readOptions.output == "object") {
OpenLayers.Util.extend(response,
- this.parseResponse(request, this.readOptions));
+ this.parseResponse(request, options.readOptions));
} else {
- response.features = this.parseResponse(request);
+ response.features = this.parseResponse(request, options.readOptions);
}
response.code = OpenLayers.Protocol.Response.SUCCESS;
} else {
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_0_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_0_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_0_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_1_0.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_1_0.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS/v1_1_0.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -42,7 +42,27 @@
* featurePrefix - {String} Feature namespace alias (optional - only used
* if featureNS is provided). Default is 'feature'.
* geometryName - {String} Name of geometry attribute. Default is 'the_geom'.
+ * outputFormat - {String} Optional output format to use for WFS GetFeature
+ * requests. This can be any format advertized by the WFS's
+ * GetCapabilities response. If set, an appropriate readFormat also
+ * has to be provided, unless outputFormat is GML3, GML2 or JSON.
+ * readFormat - {<OpenLayers.Format>} An appropriate format parser if
+ * outputFormat is none of GML3, GML2 or JSON.
*/
+ initialize: function(options) {
+ OpenLayers.Protocol.WFS.v1.prototype.initialize.apply(this, arguments);
+ if (this.outputFormat && !this.readFormat) {
+ if (this.outputFormat.toLowerCase() == "gml2") {
+ this.readFormat = new OpenLayers.Format.GML.v2({
+ featureType: this.featureType,
+ featureNS: this.featureNS,
+ geometryName: this.geometryName
+ });
+ } else if (this.outputFormat.toLowerCase() == "json") {
+ this.readFormat = new OpenLayers.Format.GeoJSON();
+ }
+ }
+ },
CLASS_NAME: "OpenLayers.Protocol.WFS.v1_1_0"
});
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol/WFS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Protocol.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Protocol.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Protocol.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+/**
* Class: OpenLayers.Protocol
* Abstract vector layer protocol class. Not to be instantiated directly. Use
* one of the protocol subclasses instead.
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Canvas.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Canvas.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Canvas.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Elements.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Elements.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/Elements.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/SVG.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/SVG.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/SVG.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -50,14 +50,6 @@
symbolMetrics: null,
/**
- * Property: supportUse
- * {Boolean} true if defs/use is supported - known to not work as expected
- * at least in some applewebkit/5* builds.
- * See https://bugs.webkit.org/show_bug.cgi?id=33322
- */
- supportUse: null,
-
- /**
* Constructor: OpenLayers.Renderer.SVG
*
* Parameters:
@@ -70,7 +62,6 @@
OpenLayers.Renderer.Elements.prototype.initialize.apply(this,
arguments);
this.translationParameters = {x: 0, y: 0};
- this.supportUse = (navigator.userAgent.toLowerCase().indexOf("applewebkit/5") == -1);
this.symbolMetrics = {};
},
@@ -215,7 +206,7 @@
if (style.externalGraphic) {
nodeType = "image";
} else if (this.isComplexSymbol(style.graphicName)) {
- nodeType = this.supportUse === false ? "svg" : "use";
+ nodeType = "svg";
} else {
nodeType = "circle";
}
@@ -306,17 +297,17 @@
parent.removeChild(node);
}
- if(this.supportUse === false) {
- // workaround for webkit versions that cannot do defs/use
- // (see https://bugs.webkit.org/show_bug.cgi?id=33322):
- // copy the symbol instead of referencing it
- var src = document.getElementById(id);
- node.firstChild && node.removeChild(node.firstChild);
- node.appendChild(src.firstChild.cloneNode(true));
- node.setAttributeNS(null, "viewBox", src.getAttributeNS(null, "viewBox"));
- } else {
- node.setAttributeNS(this.xlinkns, "href", "#" + id);
- }
+ // The more appropriate way to implement this would be use/defs,
+ // but due to various issues in several browsers, it is safer to
+ // copy the symbols instead of referencing them.
+ // See e.g. ticket http://trac.osgeo.org/openlayers/ticket/2985
+ // and this email thread
+ // http://osgeo-org.1803224.n2.nabble.com/Select-Control-Ctrl-click-on-Feature-with-a-graphicName-opens-new-browser-window-tc5846039.html
+ var src = document.getElementById(id);
+ node.firstChild && node.removeChild(node.firstChild);
+ node.appendChild(src.firstChild.cloneNode(true));
+ node.setAttributeNS(null, "viewBox", src.getAttributeNS(null, "viewBox"));
+
node.setAttributeNS(null, "width", size);
node.setAttributeNS(null, "height", size);
node.setAttributeNS(null, "x", pos.x - offset);
@@ -334,18 +325,20 @@
}
var rotation = style.rotation;
+
if ((rotation !== undefined || node._rotation !== undefined) && pos) {
node._rotation = rotation;
rotation |= 0;
- if(node.nodeName !== "svg") {
- node.setAttributeNS(null, "transform",
- "rotate(" + rotation + " " + pos.x + " " +
- pos.y + ")");
+ if (node.nodeName !== "svg") {
+ node.setAttributeNS(null, "transform",
+ "rotate(" + rotation + " " + pos.x + " " +
+ pos.y + ")");
} else {
- var metrics = this.symbolMetrics[id];
- node.firstChild.setAttributeNS(null, "transform",
- "rotate(" + style.rotation + " " + metrics[1] +
- " " + metrics[2] + ")");
+ var metrics = this.symbolMetrics[id];
+ node.firstChild.setAttributeNS(null, "transform", "rotate("
+ + rotation + " "
+ + metrics[1] + " "
+ + metrics[2] + ")");
}
}
}
@@ -951,7 +944,7 @@
*/
getFeatureIdFromEvent: function(evt) {
var featureId = OpenLayers.Renderer.Elements.prototype.getFeatureIdFromEvent.apply(this, arguments);
- if(this.supportUse === false && !featureId) {
+ if(!featureId) {
var target = evt.target;
featureId = target.parentNode && target != this.rendererRoot &&
target.parentNode._featureId;
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/VML.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/VML.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Renderer/VML.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -219,6 +219,7 @@
if (node._geometryClass === "OpenLayers.Geometry.Point") {
if (style.externalGraphic) {
+ options.isFilled = true;
if (style.graphicTitle) {
node.title=style.graphicTitle;
}
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Renderer.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Renderer.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Renderer.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+/**
* Class: OpenLayers.Renderer
* This is the base class for all renderers.
*
@@ -181,8 +185,8 @@
if(style.display != "none" && style.label && rendered !== false) {
var location = feature.geometry.getCentroid();
if(style.labelXOffset || style.labelYOffset) {
- xOffset = isNaN(style.labelXOffset) ? 0 : style.labelXOffset;
- yOffset = isNaN(style.labelYOffset) ? 0 : style.labelYOffset;
+ var xOffset = isNaN(style.labelXOffset) ? 0 : style.labelXOffset;
+ var yOffset = isNaN(style.labelYOffset) ? 0 : style.labelYOffset;
var res = this.getResolution();
location.move(xOffset*res, yOffset*res);
}
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Request/XMLHttpRequest.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Request/XMLHttpRequest.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Request/XMLHttpRequest.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -24,14 +24,20 @@
// Define on browser type
var bGecko = !!window.controllers,
bIE = window.document.all && !window.opera,
- bIE7 = bIE && window.navigator.userAgent.match(/MSIE ([\.0-9]+)/) && RegExp.$1 == 7;
+ bIE7 = bIE && window.navigator.userAgent.match(/MSIE 7.0/);
- // Constructor
- function cXMLHttpRequest() {
+ // Enables "XMLHttpRequest()" call next to "new XMLHttpReques()"
+ function fXMLHttpRequest() {
this._object = oXMLHttpRequest && !bIE7 ? new oXMLHttpRequest : new window.ActiveXObject("Microsoft.XMLHTTP");
this._listeners = [];
};
+ // Constructor
+ function cXMLHttpRequest() {
+ return new fXMLHttpRequest;
+ };
+ cXMLHttpRequest.prototype = fXMLHttpRequest.prototype;
+
// BUGFIX: Firefox with Firebug installed would break pages if not executed
if (bGecko && oXMLHttpRequest.wrapped)
cXMLHttpRequest.wrapped = oXMLHttpRequest.wrapped;
@@ -50,6 +56,9 @@
cXMLHttpRequest.prototype.status = 0;
cXMLHttpRequest.prototype.statusText = '';
+ // Priority proposal
+ cXMLHttpRequest.prototype.priority = "NORMAL";
+
// Instance-level Events Handlers
cXMLHttpRequest.prototype.onreadystatechange = null;
@@ -85,7 +94,7 @@
oRequest.abort();
}
};
- window.attachEvent("onunload", fOnUnload);
+ window.attachEvent("onunload", fOnUnload);
}
// Add method sniffer
@@ -100,10 +109,8 @@
else
this._object.open(sMethod, sUrl, bAsync);
- if (!bGecko && !bIE) {
- this.readyState = cXMLHttpRequest.OPENED;
- fReadyStateChange(this);
- }
+ this.readyState = cXMLHttpRequest.OPENED;
+ fReadyStateChange(this);
this._object.onreadystatechange = function() {
if (bGecko && !bAsync)
@@ -125,6 +132,10 @@
}
if (oRequest.readyState == cXMLHttpRequest.DONE) {
+ // Free up queue
+ delete oRequest._data;
+/* if (bAsync)
+ fQueue_remove(oRequest);*/
//
fCleanTransport(oRequest);
// Uncomment this block if you need a fix for IE cache
@@ -140,7 +151,7 @@
// Re-send request
if (sUser) {
if (sPassword)
- oRequest._object.open(sMethod, sUrl, bAsync, sUser, sPassword);
+ oRequest._object.open(sMethod, sUrl, bAsync, sUser, sPassword);
else
oRequest._object.open(sMethod, sUrl, bAsync, sUser);
}
@@ -205,38 +216,50 @@
nState = oRequest.readyState;
}
};
+ function fXMLHttpRequest_send(oRequest) {
+ oRequest._object.send(oRequest._data);
+
+ // BUGFIX: Gecko - missing readystatechange calls in synchronous requests
+ if (bGecko && !oRequest._async) {
+ oRequest.readyState = cXMLHttpRequest.OPENED;
+
+ // Synchronize state
+ fSynchronizeValues(oRequest);
+
+ // Simulate missing states
+ while (oRequest.readyState < cXMLHttpRequest.DONE) {
+ oRequest.readyState++;
+ fReadyStateChange(oRequest);
+ // Check if we are aborted
+ if (oRequest._aborted)
+ return;
+ }
+ }
+ };
cXMLHttpRequest.prototype.send = function(vData) {
// Add method sniffer
if (cXMLHttpRequest.onsend)
cXMLHttpRequest.onsend.apply(this, arguments);
+ if (!arguments.length)
+ vData = null;
+
// BUGFIX: Safari - fails sending documents created/modified dynamically, so an explicit serialization required
// BUGFIX: IE - rewrites any custom mime-type to "text/xml" in case an XMLNode is sent
// BUGFIX: Gecko - fails sending Element (this is up to the implementation either to standard)
if (vData && vData.nodeType) {
vData = window.XMLSerializer ? new window.XMLSerializer().serializeToString(vData) : vData.xml;
- if (!this._headers["Content-Type"])
- this._object.setRequestHeader("Content-Type", "application/xml");
+ if (!oRequest._headers["Content-Type"])
+ oRequest._object.setRequestHeader("Content-Type", "application/xml");
}
- this._object.send(vData);
-
- // BUGFIX: Gecko - missing readystatechange calls in synchronous requests
- if (bGecko && !this._async) {
- this.readyState = cXMLHttpRequest.OPENED;
-
- // Synchronize state
- fSynchronizeValues(this);
-
- // Simulate missing states
- while (this.readyState < cXMLHttpRequest.DONE) {
- this.readyState++;
- fReadyStateChange(this);
- // Check if we are aborted
- if (this._aborted)
- return;
- }
- }
+ this._data = vData;
+/*
+ // Add to queue
+ if (this._async)
+ fQueue_add(this);
+ else*/
+ fXMLHttpRequest_send(this);
};
cXMLHttpRequest.prototype.abort = function() {
// Add method sniffer
@@ -251,6 +274,12 @@
// BUGFIX: IE - memory leak
fCleanTransport(this);
+
+ this.readyState = cXMLHttpRequest.UNSENT;
+
+ delete this._data;
+/* if (this._async)
+ fQueue_remove(this);*/
};
cXMLHttpRequest.prototype.getAllResponseHeaders = function() {
return this._object.getAllResponseHeaders();
@@ -361,7 +390,45 @@
// BUGFIX: IE - memory leak (on-page leak)
oRequest._object.onreadystatechange = new window.Function;
};
+/*
+ // Queue manager
+ var oQueuePending = {"CRITICAL":[],"HIGH":[],"NORMAL":[],"LOW":[],"LOWEST":[]},
+ aQueueRunning = [];
+ function fQueue_add(oRequest) {
+ oQueuePending[oRequest.priority in oQueuePending ? oRequest.priority : "NORMAL"].push(oRequest);
+ //
+ setTimeout(fQueue_process);
+ };
+ function fQueue_remove(oRequest) {
+ for (var nIndex = 0, bFound = false; nIndex < aQueueRunning.length; nIndex++)
+ if (bFound)
+ aQueueRunning[nIndex - 1] = aQueueRunning[nIndex];
+ else
+ if (aQueueRunning[nIndex] == oRequest)
+ bFound = true;
+ if (bFound)
+ aQueueRunning.length--;
+ //
+ setTimeout(fQueue_process);
+ };
+
+ function fQueue_process() {
+ if (aQueueRunning.length < 6) {
+ for (var sPriority in oQueuePending) {
+ if (oQueuePending[sPriority].length) {
+ var oRequest = oQueuePending[sPriority][0];
+ oQueuePending[sPriority] = oQueuePending[sPriority].slice(1);
+ //
+ aQueueRunning.push(oRequest);
+ // Send request
+ fXMLHttpRequest_send(oRequest);
+ break;
+ }
+ }
+ }
+ };
+*/
// Internet Explorer 5.0 (missing apply)
if (!window.Function.prototype.apply) {
window.Function.prototype.apply = function(oRequest, oArguments) {
@@ -381,4 +448,4 @@
* http://code.google.com/p/xmlhttprequest/.
*/
OpenLayers.Request.XMLHttpRequest = cXMLHttpRequest;
-})();
\ No newline at end of file
+})();
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Request.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Request.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Request.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -169,7 +169,7 @@
request.send(config.data);
} else {
window.setTimeout(function(){
- if (request._aborted !== true) {
+ if (request.readyState !== 0) { // W3C: 0-UNSENT
request.send(config.data);
}
}, 0);
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Rule.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Rule.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Rule.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,11 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
* @requires OpenLayers/Style.js
* @requires OpenLayers/Symbolizer/Point.js
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/SingleFile.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/SingleFile.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/SingleFile.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/BBOX.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/BBOX.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/BBOX.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Cluster.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Cluster.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Cluster.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Filter.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Filter.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Filter.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Fixed.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Fixed.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Fixed.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Paging.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Paging.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Paging.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Refresh.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Refresh.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Refresh.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Save.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Save.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy/Save.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Strategy.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Strategy.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Strategy.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+/**
* Class: OpenLayers.Strategy
* Abstract vector layer strategy class. Not to be instantiated directly. Use
* one of the strategy subclasses instead.
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Style.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Style.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Style.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,10 +1,11 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
* @requires OpenLayers/Feature/Vector.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Style2.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Style2.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Style2.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Rule.js
* @requires OpenLayers/Symbolizer/Point.js
* @requires OpenLayers/Symbolizer/Line.js
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/StyleMap.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/StyleMap.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/StyleMap.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Style.js
* @requires OpenLayers/Feature/Vector.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Line.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Line.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Line.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Point.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Point.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Point.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Polygon.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Polygon.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Polygon.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Raster.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Raster.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Raster.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Text.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Text.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer/Text.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Symbolizer.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,13 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+/**
* Class: OpenLayers.Symbolizer
* Base class representing a symbolizer used for feature rendering.
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image/IFrame.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image/IFrame.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image/IFrame.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Tile/Image.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Tile/WFS.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Tile/WFS.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Tile/WFS.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Tile.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Tile.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Tile.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,12 +1,14 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/*
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Util.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/*
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Tween.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Tween.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Tween.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,9 +1,10 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes/Class.js
* @requires OpenLayers/Console.js
*/
Modified: sandbox/tschaub/xdomain/lib/OpenLayers/Util.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers/Util.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers/Util.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,16 +1,23 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
+ * @requires OpenLayers/BaseTypes.js
+ * @requires OpenLayers/BaseTypes/Bounds.js
+ * @requires OpenLayers/BaseTypes/Element.js
+ * @requires OpenLayers/BaseTypes/LonLat.js
+ * @requires OpenLayers/BaseTypes/Pixel.js
+ * @requires OpenLayers/BaseTypes/Size.js
* @requires OpenLayers/Console.js
+ * @requires OpenLayers/Lang.js
*/
/**
* Namespace: Util
*/
-OpenLayers.Util = {};
+OpenLayers.Util = OpenLayers.Util || {};
/**
* Function: getElement
@@ -53,53 +60,6 @@
window.$ = OpenLayers.Util.getElement;
}
-/**
- * APIFunction: extend
- * Copy all properties of a source object to a destination object. Modifies
- * the passed in destination object. Any properties on the source object
- * that are set to undefined will not be (re)set on the destination object.
- *
- * Parameters:
- * destination - {Object} The object that will be modified
- * source - {Object} The object with properties to be set on the destination
- *
- * Returns:
- * {Object} The destination object.
- */
-OpenLayers.Util.extend = function(destination, source) {
- destination = destination || {};
- if(source) {
- for(var property in source) {
- var value = source[property];
- if(value !== undefined) {
- destination[property] = value;
- }
- }
-
- /**
- * IE doesn't include the toString property when iterating over an object's
- * properties with the for(property in object) syntax. Explicitly check if
- * the source has its own toString property.
- */
-
- /*
- * FF/Windows < 2.0.0.13 reports "Illegal operation on WrappedNative
- * prototype object" when calling hawOwnProperty if the source object
- * is an instance of window.Event.
- */
-
- var sourceIsEvt = typeof window.Event == "function"
- && source instanceof window.Event;
-
- if(!sourceIsEvt
- && source.hasOwnProperty && source.hasOwnProperty('toString')) {
- destination.toString = source.toString;
- }
- }
- return destination;
-};
-
-
/**
* Function: removeItem
* Remove an object from an array. Iterates through the array
@@ -872,13 +832,11 @@
if (precision == null) {
precision = OpenLayers.Util.DEFAULT_PRECISION;
}
- var number;
- if (precision == 0) {
+ if (typeof number !== "number") {
number = parseFloat(number);
- } else {
- number = parseFloat(parseFloat(number).toPrecision(precision));
}
- return number;
+ return precision === 0 ? number :
+ parseFloat(number.toPrecision(precision));
};
/**
Modified: sandbox/tschaub/xdomain/lib/OpenLayers.js
===================================================================
--- sandbox/tschaub/xdomain/lib/OpenLayers.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/OpenLayers.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2010 by OpenLayers Contributors (see authors.txt for
+/* Copyright (c) 2006-2011 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the Clear BSD license.
* See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
@@ -72,9 +72,9 @@
*/
if(!singleFile) {
var jsfiles = new Array(
+ "OpenLayers/BaseTypes/Class.js",
"OpenLayers/Util.js",
"OpenLayers/BaseTypes.js",
- "OpenLayers/BaseTypes/Class.js",
"OpenLayers/BaseTypes/Bounds.js",
"OpenLayers/BaseTypes/Element.js",
"OpenLayers/BaseTypes/LonLat.js",
@@ -127,6 +127,7 @@
"OpenLayers/Layer/GeoRSS.js",
"OpenLayers/Layer/Boxes.js",
"OpenLayers/Layer/XYZ.js",
+ "OpenLayers/Layer/Bing.js",
"OpenLayers/Layer/TMS.js",
"OpenLayers/Layer/TileCache.js",
"OpenLayers/Layer/Zoomify.js",
Modified: sandbox/tschaub/xdomain/lib/Rico/Color.js
===================================================================
--- sandbox/tschaub/xdomain/lib/Rico/Color.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/Rico/Color.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,3 +1,8 @@
+/**
+ * @requires OpenLayers/BaseTypes/Class.js
+ */
+
+
/*
* This file has been edited substantially from the Rico-released version by
* the OpenLayers development team.
@@ -4,6 +9,7 @@
*
* This file is licensed under the Apache License, Version 2.0.
*/
+OpenLayers.Rico = OpenLayers.Rico || {};
OpenLayers.Rico.Color = OpenLayers.Class({
initialize: function(red, green, blue) {
Modified: sandbox/tschaub/xdomain/lib/Rico/Corner.js
===================================================================
--- sandbox/tschaub/xdomain/lib/Rico/Corner.js 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/lib/Rico/Corner.js 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,3 +1,8 @@
+/**
+ * @requires Rico/Color.js
+ */
+
+
/*
* This file has been edited substantially from the Rico-released
* version by the OpenLayers development team.
@@ -16,8 +21,8 @@
* implied. See the License for the specific language governing
* permissions * and limitations under the License.
*
- */
-OpenLayers.Rico = new Object();
+ */
+OpenLayers.Rico = OpenLayers.Rico || {};
OpenLayers.Rico.Corner = {
round: function(e, options) {
Modified: sandbox/tschaub/xdomain/license.txt
===================================================================
--- sandbox/tschaub/xdomain/license.txt 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/license.txt 2011-01-12 13:06:30 UTC (rev 11029)
@@ -2,7 +2,7 @@
'project' directories of the Openlayers code repository at svn.openlayers.org,
and applies to all release of OpenLayers later than 2.5.
-Copyright (c) 2005-2010 OpenLayers Contributors. See authors.txt for
+Copyright (c) 2005-2011 OpenLayers Contributors. See authors.txt for
full list.
All rights reserved.
Modified: sandbox/tschaub/xdomain/readme.txt
===================================================================
--- sandbox/tschaub/xdomain/readme.txt 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/readme.txt 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,7 +1,7 @@
OpenLayers
-=-=-=-=-=-
-Copyright (c) 2005-2010 OpenLayers Contributors. See authors.txt for
+Copyright (c) 2005-2011 OpenLayers Contributors. See authors.txt for
more details.
OpenLayers is a JavaScript library for building map applications
Modified: sandbox/tschaub/xdomain/tests/Control/Snapping.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Control/Snapping.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Control/Snapping.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -173,6 +173,70 @@
control.destroy();
}
+ function test_resolution_limits(t) {
+ t.plan(7);
+
+ var map = new OpenLayers.Map("map", {
+ resolutions: [1],
+ maxExtent: new OpenLayers.Bounds(0, 0, 100, 100)
+ });
+
+ var layer = new OpenLayers.Layer.Vector(null, {
+ isBaseLayer: true
+ });
+ layer.addFeatures([
+ new OpenLayers.Feature.Vector(OpenLayers.Geometry.fromWKT(
+ "POINT(50 50)"
+ ))
+ ]);
+
+ map.addLayer(layer);
+ map.zoomToMaxExtent();
+
+ var control = new OpenLayers.Control.Snapping({layer: layer});
+
+ var result;
+ var loc = new OpenLayers.Geometry.Point(49, 49);
+
+ // 1) test a target with no constraints
+ control.setTargets([{layer: layer}]);
+ result = control.testTarget(control.targets[0], loc);
+ t.ok(result !== null, "1) target is eligible");
+
+ // 2) test a target with minResolution < map.resolution
+ control.setTargets([{layer: layer, minResolution: 0.5}]);
+ result = control.testTarget(control.targets[0], loc);
+ t.ok(result !== null, "2) target is eligible");
+
+ // 3) test a target with minResolution === map.resolution
+ control.setTargets([{layer: layer, minResolution: 1}]);
+ result = control.testTarget(control.targets[0], loc);
+ t.ok(result !== null, "3) target is eligible");
+
+ // 4) test a target with minResolution > map.resolution
+ control.setTargets([{layer: layer, minResolution: 1.5}]);
+ result = control.testTarget(control.targets[0], loc);
+ t.ok(result === null, "4) target is not eligible");
+
+ // 5) test a target with maxResolution < map.resolution
+ control.setTargets([{layer: layer, maxResolution: 0.5}]);
+ result = control.testTarget(control.targets[0], loc);
+ t.ok(result === null, "5) target is not eligible");
+
+ // 6) test a target with maxResolution === map.resolution
+ control.setTargets([{layer: layer, maxResolution: 1}]);
+ result = control.testTarget(control.targets[0], loc);
+ t.ok(result === null, "6) target is not eligible");
+
+ // 7) test a target with maxResolution > map.resolution
+ control.setTargets([{layer: layer, maxResolution: 1.5}]);
+ result = control.testTarget(control.targets[0], loc);
+ t.ok(result !== null, "7) target is eligible");
+
+ map.destroy();
+
+ }
+
function test_snapping(t) {
t.plan(46);
Modified: sandbox/tschaub/xdomain/tests/Control/WMSGetFeatureInfo.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Control/WMSGetFeatureInfo.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Control/WMSGetFeatureInfo.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -451,7 +451,38 @@
t.eq(count, 2, "We expect 2 requests to go off");
map.destroy();
}
+
+ function test_GetFeatureInfo_buildWMSOptions(t) {
+ t.plan(3);
+
+ var map = new OpenLayers.Map("map", {
+ getExtent: function() {return(new OpenLayers.Bounds(-180,-90,180,90));},
+ projection: "EPSG:900913"
+ });
+ var a = new OpenLayers.Layer.WMS("dummy", "http://localhost/wms", {
+ layers: "a"
+ }, {projection: "EPSG:3857"});
+ var b = new OpenLayers.Layer.WMS("dummy", "http://localhost/wms", {
+ layers: "b"
+ });
+ var c = new OpenLayers.Layer.WMS("dummy", "http://localhost/wms", {
+ layers: "c"
+ }, {projection: "EPSG:4326"});
+ map.addLayers([a, b, c]);
+ var gfi = new OpenLayers.Control.WMSGetFeatureInfo();
+ map.addControl(gfi);
+ gfi.activate();
+ var options = gfi.buildWMSOptions("http://localhost/wms", [a], {xy: {x: 50, y: 50}}, "text/html");
+ t.eq(options.params.SRS, "EPSG:3857", "layer projection used if provided and equal map projection");
+
+ options = gfi.buildWMSOptions("http://localhost/wms", [b], {xy: {x: 50, y: 50}}, "text/html");
+ t.eq(options.params.SRS, "EPSG:900913", "map projection used if layer has no projection configured");
+
+ options = gfi.buildWMSOptions("http://localhost/wms", [b], {xy: {x: 50, y: 50}}, "text/html");
+ t.eq(options.params.SRS, "EPSG:900913", "map projection used if layer configured with an incompatible projection");
+ }
+
function test_GetFeatureInfo_WMS13(t) {
t.plan(4);
var map = new OpenLayers.Map("map", {
Modified: sandbox/tschaub/xdomain/tests/Format/WKT.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Format/WKT.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Format/WKT.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -80,8 +80,15 @@
polygons[1].geometry
])
);
+
+ var collection = new OpenLayers.Feature.Vector(
+ new OpenLayers.Geometry.Collection([
+ points[0].geometry,
+ linestrings[0].geometry
+ ])
+ );
- var collection = [points[0], linestrings[0]];
+ var geom_array = [points[0], linestrings[0]];
function test_Format_WKT_constructor(t) {
t.plan(4);
@@ -96,7 +103,7 @@
}
function test_Format_WKT_write(t) {
- t.plan(7);
+ t.plan(8);
var format = new OpenLayers.Format.WKT();
@@ -161,19 +168,27 @@
points[11].geometry.x + " " + points[11].geometry.y + "," +
points[9].geometry.x + " " + points[9].geometry.y + ")))",
"format correctly writes MultiPolygon WKT");
-
- // test a geometrycollection
+
+ // test geometrycollection
t.eq(format.write(collection),
"GEOMETRYCOLLECTION(POINT(" + points[0].geometry.x + " " + points[0].geometry.y + ")," +
"LINESTRING(" + points[0].geometry.x + " " + points[0].geometry.y + "," +
points[1].geometry.x + " " + points[1].geometry.y + "," +
points[2].geometry.x + " " + points[2].geometry.y + "))",
"format correctly writes GeometryCollection WKT");
+
+ // test writing an array of geometries
+ t.eq(format.write(geom_array),
+ "GEOMETRYCOLLECTION(POINT(" + points[0].geometry.x + " " + points[0].geometry.y + ")," +
+ "LINESTRING(" + points[0].geometry.x + " " + points[0].geometry.y + "," +
+ points[1].geometry.x + " " + points[1].geometry.y + "," +
+ points[2].geometry.x + " " + points[2].geometry.y + "))",
+ "format correctly writes WKT for an array of Geometries");
}
function test_Format_WKT_read(t) {
- t.plan(7);
+ t.plan(12);
var format = new OpenLayers.Format.WKT();
@@ -205,14 +220,16 @@
// test a multipolygon
t.ok(multipolygon.geometry.equals(format.read(format.write(multipolygon)).geometry),
"format correctly reads MultiPolygon WKT");
-
- // test a geometrycollection
- t.eq(format.write(collection),
- "GEOMETRYCOLLECTION(POINT(" + points[0].geometry.x + " " + points[0].geometry.y + ")," +
- "LINESTRING(" + points[0].geometry.x + " " + points[0].geometry.y + "," +
- points[1].geometry.x + " " + points[1].geometry.y + "," +
- points[2].geometry.x + " " + points[2].geometry.y + "))",
- "format correctly writes GeometryCollection WKT");
+
+ // test a collection
+ var wkt = format.write(collection);
+ var got = format.read(wkt);
+ t.ok(got instanceof Array, "by default, reading a collection returns an array");
+ t.eq(got.length, 2, "read two items");
+ t.ok(got[0] instanceof OpenLayers.Feature.Vector, "first item is a feature");
+ t.geom_eq(got[0].geometry, points[0].geometry, "first feature's geometry is the correct point");
+ t.ok(got[1] instanceof OpenLayers.Feature.Vector, "second item is a feature");
+ t.geom_eq(got[1].geometry, linestrings[0].geometry, "second feature's geometry is the correct linestring");
}
Modified: sandbox/tschaub/xdomain/tests/Geometry/Collection.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Geometry/Collection.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Geometry/Collection.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -392,6 +392,23 @@
coll.destroy();
}
+ function test_avoid_infinite_recursion(t) {
+ t.plan(1);
+
+ var g = new OpenLayers.Geometry.Polygon([
+ new OpenLayers.Geometry.LinearRing(),
+ new OpenLayers.Geometry.LinearRing()
+ ]);
+ var bounds;
+ try {
+ bounds = g.getBounds();
+ t.eq(bounds, null, "Polygon with empty linear ring has null bounds");
+ } catch (err) {
+ t.fail("Failed to get bounds of polygon with empty linear ring: " + err.message);
+ }
+
+ }
+
function test_Collection_destroy(t) {
t.plan( 3 );
Modified: sandbox/tschaub/xdomain/tests/Geometry/LineString.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Geometry/LineString.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Geometry/LineString.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -374,7 +374,67 @@
t.eq(Math.round(got), Math.round(cases[i].exp), "[case " + i + "] length calculated");
}
- }
+ }
+
+ function test_LineString_simplify(t){
+ t.plan(8);
+ var ls1 = new OpenLayers.Geometry.LineString([
+ new OpenLayers.Geometry.Point(0,0),
+ new OpenLayers.Geometry.Point(1,2.1),
+ new OpenLayers.Geometry.Point(1.8,3.8),
+ new OpenLayers.Geometry.Point(2,4),
+ new OpenLayers.Geometry.Point(3,4),
+ new OpenLayers.Geometry.Point(4,4.5),
+ new OpenLayers.Geometry.Point(5,5)
+
+ ]);
+ var ls2 = new OpenLayers.Geometry.LineString([
+ new OpenLayers.Geometry.Point(0,0),
+ new OpenLayers.Geometry.Point(1,2.1),
+ new OpenLayers.Geometry.Point(1.8,3.8),
+ new OpenLayers.Geometry.Point(2,4),
+ new OpenLayers.Geometry.Point(3,4),
+ new OpenLayers.Geometry.Point(4,4.5),
+ new OpenLayers.Geometry.Point(5,5),
+ new OpenLayers.Geometry.Point(0,0)
+
+ ]);
+ var ls3 = new OpenLayers.Geometry.LineString([
+ new OpenLayers.Geometry.Point(0,0),
+ new OpenLayers.Geometry.Point(1,1)
+ ]);
+ var ls5 = new OpenLayers.Geometry.LineString([
+ new OpenLayers.Geometry.Point(0,0),
+ new OpenLayers.Geometry.Point(1,1),
+ new OpenLayers.Geometry.Point(2,2),
+ new OpenLayers.Geometry.Point(3,3),
+ new OpenLayers.Geometry.Point(4,4),
+ new OpenLayers.Geometry.Point(5,5)
+
+ ]);
+ var ls6 = new OpenLayers.Geometry.LineString([
+ new OpenLayers.Geometry.Point(0,0),
+ new OpenLayers.Geometry.Point(1,1),
+ new OpenLayers.Geometry.Point(1,1),
+ new OpenLayers.Geometry.Point(3,2)
+ ]);
+
+ t.ok(ls1 instanceof OpenLayers.Geometry.LineString, 'LineString is instance of OpenLayers.Geometry.LineString');
+ var simplified1 = ls1.simplify(0.5);
+ t.ok(simplified1 instanceof OpenLayers.Geometry.LineString, 'Simplified LineString is instance of OpenLayers.Geometry.LineString');
+ t.ok(simplified1.getVertices().length <= ls1.getVertices().length, 'Simplified LineString has less or equal number of vertices');
+ // The simplified version is derived from PostGIS function ST_SIMPLIFY()
+ t.ok(simplified1.toString() === 'LINESTRING(0 0,1.8 3.8,5 5)', 'LineString 1 was simplified correctly');
+ var simplified2 = ls2.simplify(0.5);
+ // The simplified version is derived from PostGIS function ST_SIMPLIFY()
+ t.ok(simplified2.toString() === 'LINESTRING(0 0,1.8 3.8,5 5,0 0)', 'LineString 2 was simplified correctly');
+ var simplified3 = ls3.simplify(0.5);
+ t.ok(simplified3.toString() === ls3.toString(), 'LineString with 2 vertices is left untouched');
+ var simplified5 = ls5.simplify(0.0);
+ t.ok(simplified5.toString() === 'LINESTRING(0 0,5 5)', 'A tolerance of 0 returns the optimized version needless vertices');
+ var simplified6 = ls6.simplify(0.0);
+ t.ok(simplified6.toString() === 'LINESTRING(0 0,1 1,3 2)', 'A tolerance of 0 returns the optimized version without doubled vertices');
+ }
</script>
</head>
Modified: sandbox/tschaub/xdomain/tests/Handler/Drag.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Handler/Drag.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Handler/Drag.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -251,7 +251,7 @@
t.ok(evt.xy.x == testEvents.done.xy.x &&
evt.xy.y == testEvents.done.xy.y,
"mouseout calls Util.mouseLeft with the correct event");
- t.eq(element.id, map.div.id,
+ t.eq(element.id, map.viewPortDiv.id,
"mouseout calls Util.mouseLeft with the correct element");
return true;
}
Copied: sandbox/tschaub/xdomain/tests/Layer/Bing.html (from rev 11028, trunk/openlayers/tests/Layer/Bing.html)
===================================================================
--- sandbox/tschaub/xdomain/tests/Layer/Bing.html (rev 0)
+++ sandbox/tschaub/xdomain/tests/Layer/Bing.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,113 @@
+<html>
+<head>
+ <script src="../../lib/OpenLayers.js"></script>
+ <script type="text/javascript">
+ var map, layer;
+
+ var layerType = 'Aerial';
+ var key = "AqTGBsziZHIJYYxgivLBf0hVdrAk9mWO5cQcb8Yux8sW5M8c8opEC2lZqKR1ZZXf";
+
+ var options = {
+ type: layerType,
+ key: key
+ };
+
+ function test_constructor(t) {
+ t.plan(2);
+
+ var origProcessMetadata = OpenLayers.Layer.Bing.processMetadata;
+ var log = [];
+ OpenLayers.Layer.Bing.processMetadata = function(metadata) {
+ log.push(metadata);
+ origProcessMetadata.apply(this, arguments);
+ };
+ layer = new OpenLayers.Layer.Bing(options);
+ t.ok(layer instanceof OpenLayers.Layer.Bing, "returns OpenLayers.Layer.Bing object" );
+ t.delay_call(2, function() {
+ t.eq(log.length, 1, "processMetadata called");
+ OpenLayers.Layer.Bing.processMetadata = origProcessMetadata;
+ layer.destroy();
+ });
+ }
+
+ function test_initLayer(t) {
+ t.plan(2);
+
+ var meta = [];
+ var origProcessMetadata = OpenLayers.Layer.Bing.processMetadata;
+ OpenLayers.Layer.Bing.processMetadata = function(metadata) {
+ meta.push(metadata);
+ }
+ map = new OpenLayers.Map("map");
+ layer = new OpenLayers.Layer.Bing(options);
+ var extent;
+ map.addLayers([layer, new OpenLayers.Layer(null, {
+ moveTo: function(bounds, changed) {
+ extent = bounds;
+ }
+ })]);
+ map.zoomToMaxExtent();
+
+ var map2 = new OpenLayers.Map("map");
+ var layer2 = new OpenLayers.Layer.Bing(OpenLayers.Util.extend({
+ initLayer: function() {
+ // pretend we have a zoomMin of 2
+ this.metadata.resourceSets[0].resources[0].zoomMin = 2;
+ OpenLayers.Layer.Bing.prototype.initLayer.apply(this, arguments);
+ }
+ }, options));
+ var extent2;
+ map2.addLayers([layer2, new OpenLayers.Layer(null, {
+ moveTo: function(bounds, changed) {
+ extent2 = bounds;
+ }
+ })]);
+ map2.zoomToMaxExtent();
+
+ t.delay_call(2.0, function() {
+ origProcessMetadata.call(layer, meta[0]);
+ t.eq(extent.toBBOX(), map.getExtent().toBBOX(), "layer extent correct for base layer with zoomMin == 1.");
+ map.destroy();
+ });
+
+ t.delay_call(2.5, function() {
+ origProcessMetadata.call(layer2, meta[1]);
+ t.eq(extent2.toBBOX(), map2.getExtent().toBBOX(), "layer extent correct for base layer with zoomMin == 2.");
+ map2.destroy();
+ OpenLayers.Layer.Bing.processMetadata = origProcessMetadata;
+ });
+ }
+
+ function test_attribution(t) {
+ t.plan(3);
+
+ var log = [];
+ var map = new OpenLayers.Map("map");
+ layer = new OpenLayers.Layer.Bing(options);
+ map.addLayer(layer);
+ map.zoomToMaxExtent();
+
+ t.delay_call(2, function() {
+ t.ok(layer.attribution.indexOf('olBingAttribution aerial') !== -1, "Attribution has the correct css class");
+ t.ok(layer.attribution.indexOf('<img src="">') == -1, "Attribution contains a logo");
+ t.ok(layer.attribution.indexOf('</img></div></a><a style=') == -1 , "Attribution contains a copyright");
+ map.destroy();
+ });
+ }
+
+ function test_clone(t) {
+ t.plan(1);
+
+ var clone;
+
+ layer = new OpenLayers.Layer.Bing(options);
+ clone = layer.clone();
+ t.ok(clone instanceof OpenLayers.Layer.Bing, "clone is a Layer.Bing instance");
+ }
+
+ </script>
+</head>
+<body>
+<div id="map" style="width:500px;height:550px"></div>
+</body>
+</html>
Modified: sandbox/tschaub/xdomain/tests/Layer/Vector.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Layer/Vector.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Layer/Vector.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -194,6 +194,83 @@
t.ok(layer.getFeatureBy('fid', 'some_fid_that_does_not_exist') == null,
"OpenLayers.Layer.Vector.getFeatureBy('fid', ...) works like getFeatureByFid on non-existing feature fid");
}
+
+ function test_Layer_Vector_getFeaturesByAttribute(t) {
+ t.plan( 9 );
+ // setup layer
+ var layer = new OpenLayers.Layer.Vector(name);
+
+ // feature_1
+ var geometry_1 = new OpenLayers.Geometry.Point(-28.63, 153.64);
+ var attributes_1 = {
+ humpty: 'dumpty',
+ clazz: 1
+ };
+ var feature_1 = new OpenLayers.Feature.Vector(geometry_1, attributes_1);
+ feature_1.fid = 'f_01'; // to identify later
+
+ // feature_2
+ var geometry_2 = new OpenLayers.Geometry.Point(-27.48, 153.05);
+ var attributes_2 = {
+ // this feature has attribute humpty === undefined
+ clazz: '1'
+ };
+ var feature_2 = new OpenLayers.Feature.Vector(geometry_2, attributes_2);
+ feature_2.fid = 'f_02'; // to identify later
+
+ // feature_3
+ var geometry_3 = new OpenLayers.Geometry.Point(-33.74, 150.3);
+ var attributes_3 = {
+ humpty: 'foobar',
+ clazz: 1
+ };
+ var feature_3 = new OpenLayers.Feature.Vector(geometry_3, attributes_3);
+ feature_3.fid = 'f_03'; // to identify later
+
+ // Tests
+
+ // don't find anything... no features added
+ // 1 test
+ t.ok(layer.getFeaturesByAttribute('humpty', 'dumpty').length === 0,
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute returns an empty array while the layer is empty");
+
+ layer.addFeatures([feature_1, feature_2, feature_3]);
+
+ // simple use case: find 1 feature with an attribute and matching value
+ // 2 tests
+ var dumptyResults = layer.getFeaturesByAttribute('humpty', 'dumpty');
+ t.ok(dumptyResults.length === 1,
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute returns an array with one feature for attribute 'humpty' with value 'dumpty'");
+ t.ok(dumptyResults[0].fid === 'f_01',
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute returns the correct feature with attribute 'humpty' set to 'dumpty'");
+
+ // simple use case: find 1 feature with an attribute and matching value
+ // and respect data types
+ // 2 tests
+ var strOneResults = layer.getFeaturesByAttribute('clazz', '1');
+ t.ok(strOneResults.length === 1,
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute returns an array with one feature for attribute 'clazz' with value '1' (a string)");
+ t.ok(strOneResults[0].fid === 'f_02',
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute returns the correct feature with attribute 'clazz' set to the string '1'");
+
+ // simple use case: find 2 features with an attribute and matching value
+ // and respect data types
+ // 2 tests
+ var numOneResults = layer.getFeaturesByAttribute('clazz', 1);
+ t.ok(numOneResults.length === 2,
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute returns an array with two features for attribute 'clazz' with value 1 (a number)");
+ var bothFound = !!((numOneResults[0].fid === 'f_01' && numOneResults[1].fid === 'f_03') || (numOneResults[0].fid === 'f_03' && numOneResults[1].fid === 'f_01'));
+ t.ok(bothFound,
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute returns the correct features with attribute 'clazz' set to the number 1");
+
+ // advanced use case: find the 1 feature, that has an attribute not set
+ var undefined;
+ var humptyNotSet = layer.getFeaturesByAttribute('humpty', undefined);
+ t.ok(humptyNotSet.length === 1,
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute can be used to find features that have certain attributes not set");
+ t.ok(humptyNotSet[0].fid === 'f_02',
+ "OpenLayers.Layer.Vector.getFeaturesByAttribute found the correct featuren that has a certain attribute not set");
+ }
function test_Layer_Vector_getDataExtent(t) {
t.plan(1);
Modified: sandbox/tschaub/xdomain/tests/Layer/WMS.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Layer/WMS.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Layer/WMS.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -154,7 +154,6 @@
map.destroy();
}
-
function test_Layer_WMS_clone (t) {
t.plan(4);
@@ -381,6 +380,39 @@
}
+ function test_tileExtent(t) {
+ t.plan(4);
+
+ var dummy = new OpenLayers.Layer(null, {isBaseLayer: true});
+ var unconstrained = new OpenLayers.Layer.WMS(
+ null, "http://example.com/wms",
+ {layers: "unconstrained"},
+ {isBaseLayer: false, buffer: 0}
+ );
+ var constrained = new OpenLayers.Layer.WMS(
+ null, "http://example.com/wms-c",
+ {layers: "constrained"},
+ {buffer: 0, isBaseLayer: false, tileExtent: new OpenLayers.Bounds(-180, -90, 180, 90)}
+ );
+ var map = new OpenLayers.Map({
+ div: "map",
+ maxExtent: new OpenLayers.Bounds(-185, -95, 185, 95),
+ layers: [dummy, unconstrained, constrained],
+ center: new OpenLayers.LonLat(0, 0),
+ zoom: 1
+ });
+
+ t.eq(unconstrained.grid[1][0].bounds.bottom, -95, "unconstrained bottom correct");
+ t.eq(unconstrained.grid[1][0].bounds.left, -185, "unconstrained left correct");
+ t.eq(constrained.grid[1][0].bounds.bottom, -90, "constrained bottom correct");
+ t.eq(constrained.grid[1][0].bounds.left, -180, "constrained left correct");
+
+ map.destroy();
+
+ }
+
+
+
// DEPRECATED -- REMOVE IN 3.0
function test_Layer_Untiled_WMS(t) {
t.plan(1);
Modified: sandbox/tschaub/xdomain/tests/Protocol/HTTP.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Protocol/HTTP.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Protocol/HTTP.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -199,29 +199,43 @@
}
function test_read_bbox(t) {
- t.plan(1);
- var protocol = new OpenLayers.Protocol.HTTP();
+ t.plan(6);
- // fake XHR request object
- var request = {'status': 200};
-
var _get = OpenLayers.Request.GET;
var bounds = new OpenLayers.Bounds(1, 2, 3, 4);
var filter = new OpenLayers.Filter.Spatial({
type: OpenLayers.Filter.Spatial.BBOX,
value: bounds,
- projection: "foo"
+ projection: new OpenLayers.Projection("foo")
});
+ // log requests
+ var log, exp;
OpenLayers.Request.GET = function(options) {
- t.eq(options.params['bbox'].toString(), bounds.toArray().toString(),
- 'GET called with bbox filter in params');
- return request;
+ log.push(options.params.bbox);
+ return {status: 200};
};
- var resp = protocol.read({filter: filter});
+ // 1) issue request with default protocol
+ log = [];
+ new OpenLayers.Protocol.HTTP().read({filter: filter});
+ t.eq(log.length, 1, "1) GET called once");
+ t.ok(log[0] instanceof Array, "1) bbox param is array");
+ exp = bounds.toArray();
+ t.eq(log[0], exp, "1) bbox param doesn't include SRS id by default");
+
+ // 2) issue request with default protocol
+ log = [];
+ new OpenLayers.Protocol.HTTP({srsInBBOX: true}).read({filter: filter});
+
+ t.eq(log.length, 1, "2) GET called once");
+ t.ok(log[0] instanceof Array, "2) bbox param is array");
+ exp = bounds.toArray();
+ exp.push("foo");
+ t.eq(log[0], exp, "2) bbox param includes SRS id if srsInBBOX is true");
+
OpenLayers.Request.GET = _get;
}
Modified: sandbox/tschaub/xdomain/tests/Protocol/WFS.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Protocol/WFS.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Protocol/WFS.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -25,14 +25,15 @@
}
function test_read(t) {
- t.plan(6);
+ t.plan(7);
var protocol = new OpenLayers.Protocol.WFS({
url: "http://some.url.org",
featureNS: "http://namespace.org",
featureType: "type",
- parseResponse: function(request) {
+ parseResponse: function(request, options) {
t.eq(request.responseText, "foo", "parseResponse called properly");
+ t.eq(options, {foo: "bar"}, "parseResponse receives readOptions");
return "foo";
}
});
@@ -44,14 +45,13 @@
t.xml_eq(new OpenLayers.Format.XML().read(obj.data).documentElement, expected, "GetFeature request is correct");
obj.status = status;
obj.responseText = "foo";
- obj.options = {};
t.delay_call(0.1, function() {obj.callback.call(this)});
return obj;
};
expected = readXML("GetFeature_1");
status = 200;
- var response = protocol.read({callback: function(response) {
+ var response = protocol.read({readOptions: {foo: "bar"}, callback: function(response) {
t.eq(response.features, "foo", "user callback properly called with features");
t.eq(response.code, OpenLayers.Protocol.Response.SUCCESS, "success reported properly");
}});
@@ -95,7 +95,6 @@
OpenLayers.Request.POST = function(obj) {
t.xml_eq(new OpenLayers.Format.XML().read(obj.data).documentElement, expected, "Transaction XML with Insert, Update and Delete created correctly");
obj.responseText = "foo";
- obj.options = {};
t.delay_call(0.1, function() {obj.callback.call(this)});
return obj;
};
@@ -229,6 +228,30 @@
t.eq(features.length, 1, "the right format is used to read the request (GeoJSON)");
}
+ function test_outputFormat(t) {
+ t.plan(2);
+
+ var protocol = new OpenLayers.Protocol.WFS({
+ version: "1.1.0",
+ url: "http://some.url.org",
+ featureNS: "http://namespace.org",
+ featureType: "type",
+ outputFormat: 'json'
+ });
+
+ t.ok(protocol.readFormat instanceof OpenLayers.Format.GeoJSON, "the correct readFormat is used for outputFormat JSON");
+
+ protocol = new OpenLayers.Protocol.WFS({
+ version: "1.1.0",
+ url: "http://some.url.org",
+ featureNS: "http://namespace.org",
+ featureType: "type",
+ outputFormat: 'GML2'
+ });
+
+ t.ok(protocol.readFormat instanceof OpenLayers.Format.GML.v2, "the correct readFormat is used for outputFormat GML2");
+ }
+
function test_readOptions(t) {
t.plan(1);
@@ -248,7 +271,6 @@
OpenLayers.Request.POST = function(obj) {
obj.status = 200;
obj.responseText = "foo";
- obj.options = {};
t.delay_call(0.1, function() {obj.callback.call(this)});
return obj;
};
Modified: sandbox/tschaub/xdomain/tests/Renderer/SVG.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Renderer/SVG.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Renderer/SVG.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -378,23 +378,7 @@
var string = r.getShortString(point);
t.eq(string, "2,-4", "returned string is correct");
}
-
- function test_svg_getnodetype(t) {
- if (!OpenLayers.Renderer.SVG.prototype.supported()) {
- t.plan(0);
- return;
- }
-
- t.plan(1);
- var r = new OpenLayers.Renderer.SVG(document.body);
-
- var g = {CLASS_NAME: "OpenLayers.Geometry.Point"}
- var s = {graphicName: "square"};
-
- t.eq(r.getNodeType(g, s), r.supportUse ? "use" : "svg", "Correct node type for well known symbols");
- }
-
function test_svg_importsymbol(t) {
if (!OpenLayers.Renderer.SVG.prototype.supported()) {
t.plan(0);
Modified: sandbox/tschaub/xdomain/tests/Request/XMLHttpRequest.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Request/XMLHttpRequest.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Request/XMLHttpRequest.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -7,6 +7,51 @@
t.ok(new OpenLayers.Request.XMLHttpRequest(),
"constructor didn't fail and we trust the code is well tested in OpenLayers.Request methods");
}
+ function test_readyState(t) {
+ // Verify compliance of the standard (a part) See: http://www.w3.org/TR/XMLHttpRequest/
+ t.plan(9);
+ // Case 1: Request-A: open & abort
+ var requestA = new OpenLayers.Request.XMLHttpRequest();
+ //requestA.onreadystatechange = function() {};
+ t.eq(requestA.readyState, 0, "Request-A: readyState after new is 0-UNSENT");
+ requestA.open("GET", ".", true);
+ t.eq(requestA.readyState, 1, "Request-A: readyState after open is 1-OPENED");
+ requestA.abort();
+ t.eq(requestA.readyState, 0, "Request-A: readyState after abort is 0-UNSENT");
+
+ // Case 2: Request-B: open & send
+ var requestB = new OpenLayers.Request.XMLHttpRequest();
+ requestB.onreadystatechange = function() {
+ if (requestB.readyState == 4) {
+ t.ok(true, "Request-B: triggered the event onreadystatechange when 4-DONE");
+ }
+ };
+ t.eq(requestB.readyState, 0, "Request-B: readyState after new is 0-UNSENT");
+ requestB.open("GET", ".", true);
+ t.eq(requestB.readyState, 1, "Request-B: readyState after open is 1-OPENED");
+ requestB.send();
+
+ // Case 3: Request-C: open, send & abort
+ var requestC = new OpenLayers.Request.XMLHttpRequest();
+ requestC.onreadystatechange = function() {
+ if (requestC.readyState == 4) {
+ t.fail("Request-C: triggered the event onreadystatechange when 4-DONE after abort");
+ }
+ };
+ t.eq(requestC.readyState, 0, "Request-C: readyState after new is 0-UNSENT");
+ requestC.open("GET", ".", true);
+ t.eq(requestC.readyState, 1, "Request-C: readyState after open is 1-OPENED");
+ requestC.send();
+ requestC.abort();
+ t.eq(requestC.readyState, 0, "Request-C: readyState after abort is 0-UNSENT");
+
+ // delay destroy
+ t.delay_call(
+ 2, function() {
+ // to await the end of requestB and requestC
+ }
+ );
+ }
</script>
</head>
<body>
Modified: sandbox/tschaub/xdomain/tests/Request.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Request.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Request.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -409,6 +409,21 @@
});
}
+ function test_abort2(t) {
+ t.plan(0);
+ var fail = false;
+ OpenLayers.Request.XMLHttpRequest.onsend = function(args) {
+ fail = true;
+ }
+ t.delay_call(0.5, function() {
+ if (fail === true) {
+ t.fail("Send should not be called because request is aborted");
+ }
+ OpenLayers.Request.XMLHttpRequest.onsend = null;
+ });
+ var req = OpenLayers.Request.GET();
+ req.abort();
+ }
</script>
</head>
<body>
Modified: sandbox/tschaub/xdomain/tests/Util.html
===================================================================
--- sandbox/tschaub/xdomain/tests/Util.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/Util.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -5,7 +5,16 @@
var custom$ = function() {};
window.$ = custom$;
</script>
- <script src="../lib/OpenLayers.js"></script>
+ <script src="../lib/OpenLayers/SingleFile.js"></script>
+ <script src="../lib/OpenLayers/BaseTypes/Class.js"></script>
+ <script src="../lib/OpenLayers/Util.js"></script>
+ <script src="../lib/OpenLayers/BaseTypes.js"></script>
+ <script src="../lib/OpenLayers/BaseTypes/Element.js"></script>
+ <script src="../lib/OpenLayers/BaseTypes/LonLat.js"></script>
+ <script src="../lib/OpenLayers/BaseTypes/Pixel.js"></script>
+ <script src="../lib/OpenLayers/BaseTypes/Size.js"></script>
+ <script src="../lib/OpenLayers/Lang.js"></script>
+ <script src="../lib/OpenLayers/Console.js"></script>
<script type="text/javascript">
var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
var map;
Modified: sandbox/tschaub/xdomain/tests/list-tests.html
===================================================================
--- sandbox/tschaub/xdomain/tests/list-tests.html 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tests/list-tests.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -125,6 +125,7 @@
<li>Layer.html</li>
<li>Layer/ArcIMS.html</li>
<li>Layer/ArcGIS93Rest.html</li>
+ <li>Layer/Bing.html</li>
<li>Layer/EventPane.html</li>
<li>Layer/FixedZoomLevels.html</li>
<li>Layer/GeoRSS.html</li>
Copied: sandbox/tschaub/xdomain/tests/manual/google-v3-resize.html (from rev 11028, trunk/openlayers/tests/manual/google-v3-resize.html)
===================================================================
--- sandbox/tschaub/xdomain/tests/manual/google-v3-resize.html (rev 0)
+++ sandbox/tschaub/xdomain/tests/manual/google-v3-resize.html 2011-01-12 13:06:30 UTC (rev 11029)
@@ -0,0 +1,54 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Google v3 Resize Test</title>
+ <link rel="stylesheet" href="../../theme/default/style.css" type="text/css" />
+ <link rel="stylesheet" href="../../examples/style.css" type="text/css" />
+ <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
+ <script src="../../lib/OpenLayers.js"></script>
+ <script type="text/javascript">
+ var map;
+
+ function init() {
+ var mapOptions = {
+ projection: "EPSG:900913",
+ displayProjection: new OpenLayers.Projection("EPSG:4326"), //Pour afficher les coord lat long
+ units: "m",
+ maxResolution: 156543.0339,
+ maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
+ controls: [new OpenLayers.Control.Navigation(), new OpenLayers.Control.LayerSwitcher()],
+ numZoomLevels: 20
+ };
+ map = new OpenLayers.Map('map', mapOptions);
+
+ var dummy = new OpenLayers.Layer(
+ "Dummy",
+ {isBaseLayer: true}
+ );
+ var gmap = new OpenLayers.Layer.Google(
+ "Google Streets", {sphericalMercator: true}
+ );
+
+ map.addLayers([dummy, gmap]);
+
+ map.setCenter(new OpenLayers.LonLat(-7712190.388467473, 6567469.498697457), 6);
+ }
+ </script>
+ </head>
+ <body onload="init()">
+ <h1 id="title">Google Layer Resize Issue</h1>
+
+ <div id="tags"></div>
+
+ <p id="shortdesc">
+ <ol>
+ <li>Click
+ <button onclick="var m = document.getElementById('map').style; m.height = '400px'; m.width = '800px';map.updateSize(); return false;">Resize</button></li>
+ <li>Open the LayerSwitcher and switch to Google Streets</li>
+ <li>Confirm that the whole map area is populated with tiles</li>
+ </ol>
+ </p>
+
+ <div id="map" style="width: 350px; height: 200px"></div>
+
+ </body>
+</html>
Modified: sandbox/tschaub/xdomain/theme/default/style.css
===================================================================
--- sandbox/tschaub/xdomain/theme/default/style.css 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/theme/default/style.css 2011-01-12 13:06:30 UTC (rev 11029)
@@ -397,3 +397,10 @@
top: 5px;
right: 0px;
}
+
+.olBingAttribution {
+ color: #DDD;
+}
+.olBingAttribution.road {
+ color: #333;
+}
Modified: sandbox/tschaub/xdomain/tools/mergejs.py
===================================================================
--- sandbox/tschaub/xdomain/tools/mergejs.py 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tools/mergejs.py 2011-01-12 13:06:30 UTC (rev 11029)
@@ -31,7 +31,7 @@
#
# Note: This is a very rough initial version of this code.
#
-# -- Copyright 2005-2010 OpenLayers contributors / OpenLayers project --
+# -- Copyright 2005-2011 OpenLayers contributors / OpenLayers project --
#
# TODO: Allow files to be excluded. e.g. `Crossbrowser/DebugMode.js`?
@@ -44,6 +44,10 @@
SUFFIX_JAVASCRIPT = ".js"
RE_REQUIRE = "@requires:? (.*)\n" # TODO: Ensure in comment?
+
+class MissingImport(Exception):
+ """Exception raised when a listed import is not found in the lib."""
+
class SourceFile:
"""
Represents a Javascript source code file.
@@ -161,8 +165,6 @@
files = {}
- order = [] # List of filepaths to output, in a dependency satisfying order
-
## Import file source code
## TODO: Do import when we walk the directories above?
for filepath in allFiles:
@@ -179,41 +181,31 @@
resolution_pass = 1
while not complete:
- order = [] # List of filepaths to output, in a dependency satisfying order
- nodes = []
- routes = []
+ complete = True
+
## Resolve the dependencies
print "Resolution pass %s... " % resolution_pass
resolution_pass += 1
for filepath, info in files.items():
- nodes.append(filepath)
- for neededFilePath in info.requires:
- routes.append((neededFilePath, filepath))
-
- for dependencyLevel in toposort(nodes, routes):
- for filepath in dependencyLevel:
- order.append(filepath)
- if not files.has_key(filepath):
- print "Importing: %s" % filepath
- fullpath = os.path.join(sourceDirectory, filepath).strip()
- content = open(fullpath, "U").read() # TODO: Ensure end of line @ EOF?
- files[filepath] = SourceFile(filepath, content) # TODO: Chop path?
-
-
-
- # Double check all dependencies have been met
- complete = True
- try:
- for fp in order:
- if max([order.index(rfp) for rfp in files[fp].requires] +
- [order.index(fp)]) != order.index(fp):
+ for path in info.requires:
+ if not files.has_key(path):
complete = False
- except:
- complete = False
+ fullpath = os.path.join(sourceDirectory, path).strip()
+ if os.path.exists(fullpath):
+ print "Importing: %s" % path
+ content = open(fullpath, "U").read() # TODO: Ensure end of line @ EOF?
+ files[path] = SourceFile(path, content) # TODO: Chop path?
+ else:
+ raise MissingImport("File '%s' not found (required by '%s')." % (path, filepath))
- print
+ # create dictionary of dependencies
+ dependencies = {}
+ for filepath, info in files.items():
+ dependencies[filepath] = info.requires
+ print "Sorting..."
+ order = toposort(dependencies) #[x for x in toposort(dependencies)]
## Move forced first and last files to the required position
if cfg:
Modified: sandbox/tschaub/xdomain/tools/toposort.py
===================================================================
--- sandbox/tschaub/xdomain/tools/toposort.py 2011-01-12 12:16:59 UTC (rev 11028)
+++ sandbox/tschaub/xdomain/tools/toposort.py 2011-01-12 13:06:30 UTC (rev 11029)
@@ -1,260 +1,35 @@
-#
-# According to <http://www.vrplumber.com/programming/> this file
-# is licensed under a BSD-style license. We only use the section
-# originally by Tim Peters.
-#
-# TODO: The use of this code needs to be okayed by someone.
-#
+"""
+toposort.py
+Sorts dictionary keys based on lists of dependencies.
+"""
-class RecursionError( OverflowError, ValueError ):
- '''Unable to calculate result because of recursive structure'''
-
+class MissingDependency(Exception):
+ """Exception raised when a listed dependency is not in the dictionary."""
-def sort(nodes, routes, noRecursion=1):
- '''Passed a list of node IDs and a list of source,dest ID routes
- attempt to create a list of stages where each sub list
- is one stage in a process.
- '''
- children, parents = _buildChildrenLists(routes)
- # first stage is those nodes
- # having no incoming routes...
- stage = []
- stages = [stage]
- taken = []
- for node in nodes:
- if (not parents.get(node)):
- stage.append (node)
- if nodes and not stage:
- # there is no element which does not depend on
- # some other element!!!
- stage.append( nodes[0])
- taken.extend( stage )
- nodes = filter ( lambda x, l=stage: x not in l, nodes )
- while nodes:
- previousStageChildren = []
- nodelen = len(nodes)
- # second stage are those nodes
- # which are direct children of the first stage
- for node in stage:
- for child in children.get (node, []):
- if child not in previousStageChildren and child not in taken:
- previousStageChildren.append(child)
- elif child in taken and noRecursion:
- raise RecursionError( (child, node) )
- # unless they are children of other direct children...
- # TODO, actually do that...
- stage = previousStageChildren
- removes = []
- for current in stage:
- currentParents = parents.get( current, [] )
- for parent in currentParents:
- if parent in stage and parent != current:
- # might wind up removing current...
- if not current in parents.get(parent, []):
- # is not mutually dependent...
- removes.append( current )
- for remove in removes:
- while remove in stage:
- stage.remove( remove )
- stages.append( stage)
- taken.extend( stage )
- nodes = filter ( lambda x, l=stage: x not in l, nodes )
- if nodelen == len(nodes):
- if noRecursion:
- raise RecursionError( nodes )
- else:
- stages.append( nodes[:] )
- nodes = []
- return stages
-
-def _buildChildrenLists (routes):
- childrenTable = {}
- parentTable = {}
- for sourceID,destinationID in routes:
- currentChildren = childrenTable.get( sourceID, [])
- currentParents = parentTable.get( destinationID, [])
- if not destinationID in currentChildren:
- currentChildren.append ( destinationID)
- if not sourceID in currentParents:
- currentParents.append ( sourceID)
- childrenTable[sourceID] = currentChildren
- parentTable[destinationID] = currentParents
- return childrenTable, parentTable
-
-
-def toposort (nodes, routes, noRecursion=1):
- '''Topological sort from Tim Peters, fairly efficient
- in comparison (it seems).'''
- #first calculate the recursion depth
+class Sorter(object):
+ def __init__(self, dependencies):
+ self.dependencies = dependencies
+ self.visited = set()
+ self.sorted = ()
- dependencies = {}
- inversedependencies = {}
- if not nodes:
- return []
- if not routes:
- return [nodes]
- for node in nodes:
- dependencies[ node ] = (0, node)
- inversedependencies[ node ] = []
+ def sort(self):
+ for key in self.dependencies:
+ self._visit(key)
+ return self.sorted
-
- for depended, depends in routes:
- # is it a null rule
- try:
- newdependencylevel, object = dependencies.get ( depends, (0, depends))
- except TypeError:
- print depends
- raise
- dependencies[ depends ] = (newdependencylevel + 1, depends)
- # "dependency (existence) of depended-on"
- newdependencylevel,object = dependencies.get ( depended, (0, depended) )
- dependencies[ depended ] = (newdependencylevel, depended)
- # Inverse dependency set up
- dependencieslist = inversedependencies.get ( depended, [])
- dependencieslist.append (depends)
- inversedependencies[depended] = dependencieslist
- ### Now we do the actual sorting
- # The first task is to create the sortable
- # list of dependency-levels
- sortinglist = dependencies.values()
- sortinglist.sort ()
- output = []
- while sortinglist:
- deletelist = []
- generation = []
- output.append( generation)
- while sortinglist and sortinglist[0][0] == 0:
- number, object = sortinglist[0]
- generation.append ( object )
- deletelist.append( object )
- for inverse in inversedependencies.get(object, () ):
- try:
- oldcount, inverse = dependencies [ inverse]
- if oldcount > 0:
- # will be dealt with on later pass
- dependencies [ inverse] = (oldcount-1, inverse)
- else:
- # will be dealt with on this pass,
- # so needs not to be in the sorting list next time
- deletelist.append( inverse )
- # just in case a loop comes through
- inversedependencies[object] = []
- except KeyError:
- # dealing with a recursion-breaking run...
- pass
- del sortinglist [0]
- # if no elements could be deleted, then
- # there is something which depends upon itself
- if not deletelist:
- if noRecursion:
- raise RecursionError( sortinglist )
- else:
- # hack so that something gets deleted...
-## import pdb
-## pdb.set_trace()
- dependencies[sortinglist[0][1]] = (0,sortinglist[0][1])
- # delete the items that were dealt with
- for item in deletelist:
- try:
- del dependencies [ item ]
- except KeyError:
- pass
- # need to recreate the sortinglist
- sortinglist = dependencies.values()
- if not generation:
- output.remove( generation )
- sortinglist.sort ()
- return output
+ def _visit(self, key):
+ if key not in self.visited:
+ self.visited.add(key)
+ if not self.dependencies.has_key(key):
+ raise MissingDependency(key)
+ for depends in self.dependencies[key]:
+ self._visit(depends)
+ self.sorted += (key,)
-
-
-
-
-if __name__ == "__main__":
-
- nodes = ['a', 'b', 'c', 'd', 'e', 'f']
- route = [('a', 'b'), ('b', 'c'), ('b', 'd'), ('e','f')]
-
- for x in toposort( nodes, route):
- for a in x:
- print a
-
- raise SystemExit
-
-
-
- import pprint, traceback
- nodes= [ 0,1,2,3,4,5 ]
- testingValues = [
- [ (0,1),(1,2),(2,3),(3,4),(4,5)],
- [ (0,1),(0,2),(1,2),(3,4),(4,5)],
- [
- (0,1),
- (0,2),
- (0,2),
- (2,4),
- (2,5),
- (3,2),
- (0,3)],
- [
- (0,1), # 3-element cycle test, no orphan nodes
- (1,2),
- (2,0),
- (2,4),
- (2,5),
- (3,2),
- (0,3)],
- [
- (0,1),
- (1,1),
- (1,1),
- (1,4),
- (1,5),
- (1,2),
- (3,1),
- (2,1),
- (2,0)],
- [
- (0,1),
- (1,0),
- (0,2),
- (0,3),
- ],
- [
- (0,1),
- (1,0),
- (0,2),
- (3,1),
- ],
- ]
- print 'sort, no recursion allowed'
- for index in range(len(testingValues)):
-## print ' %s -- %s'%( index, testingValues[index])
- try:
- print ' ', sort( nodes, testingValues[index] )
- except:
- print 'exception raised'
- print 'toposort, no recursion allowed'
- for index in range(len(testingValues)):
-## print ' %s -- %s'%( index, testingValues[index])
- try:
- print ' ', toposort( nodes, testingValues[index] )
- except:
- print 'exception raised'
- print 'sort, recursion allowed'
- for index in range(len(testingValues)):
-## print ' %s -- %s'%( index, testingValues[index])
- try:
- print ' ', sort( nodes, testingValues[index],0 )
- except:
- print 'exception raised'
- print 'toposort, recursion allowed'
- for index in range(len(testingValues)):
-## print ' %s -- %s'%( index, testingValues[index])
- try:
- print ' ', toposort( nodes, testingValues[index],0 )
- except:
- print 'exception raised'
-
-
-
+def toposort(dependencies):
+ """Returns a tuple of the dependencies dictionary keys sorted by entries
+ in the dependency lists. Given circular dependencies, sort will impose
+ an order. Raises MissingDependency if a key is not found.
+ """
+ s = Sorter(dependencies)
+ return s.sort()
More information about the Commits
mailing list