[OpenLayers-Commits] r1994 - in sandbox/vector: examples lib/OpenLayers/Renderer
commits at openlayers.org
commits at openlayers.org
Mon Dec 4 05:44:46 EST 2006
Author: pgiraud
Date: 2006-12-04 05:44:44 -0500 (Mon, 04 Dec 2006)
New Revision: 1994
Modified:
sandbox/vector/examples/GML.html
sandbox/vector/lib/OpenLayers/Renderer/Vml.js
Log:
polygons with holes management in VML
Modified: sandbox/vector/examples/GML.html
===================================================================
--- sandbox/vector/examples/GML.html 2006-12-03 15:50:47 UTC (rev 1993)
+++ sandbox/vector/examples/GML.html 2006-12-04 10:44:44 UTC (rev 1994)
@@ -17,22 +17,22 @@
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
-/*
- point = new OpenLayers.Layer.GML("Point","geometry_testcase/point.xml");
+
+ point = new OpenLayers.Layer.GML("Point","geometry_testcase/point.xml", {style: new OpenLayers.Style({strokeColor: "green"})});
map.addLayer(point);
- multipoint = new OpenLayers.Layer.GML("MultiPoint","geometry_testcase/multipoint.xml");
+ multipoint = new OpenLayers.Layer.GML("MultiPoint","geometry_testcase/multipoint.xml", {style: new OpenLayers.Style({strokeColor: "fuchsia"})});
map.addLayer(multipoint);
- line = new OpenLayers.Layer.GML("Line","geometry_testcase/line.xml");
+ line = new OpenLayers.Layer.GML("Line","geometry_testcase/line.xml", {style: new OpenLayers.Style({strokeColor: "red"})});
map.addLayer(line);
-*/
- polygon = new OpenLayers.Layer.GML("Polygon","geometry_testcase/polygon.xml");
+
+ polygon = new OpenLayers.Layer.GML("Polygon","geometry_testcase/polygon.xml", {style: new OpenLayers.Style({strokeColor: "blue"})});
map.addLayer(polygon);
-/*
- multipolygon = new OpenLayers.Layer.GML("MultiPolygon","geometry_testcase/multipolygon.xml");
+
+ multipolygon = new OpenLayers.Layer.GML("MultiPolygon","geometry_testcase/multipolygon.xml", {style: new OpenLayers.Style({strokeColor: "black"})});
map.addLayer(multipolygon);
-*/
+
//var results = OpenLayers.loadURL("us_interstate.xml", null, this, requestSuccess, requestFailure);
map.addControl(new OpenLayers.Control.LayerSwitcher());
Modified: sandbox/vector/lib/OpenLayers/Renderer/Vml.js
===================================================================
--- sandbox/vector/lib/OpenLayers/Renderer/Vml.js 2006-12-03 15:50:47 UTC (rev 1993)
+++ sandbox/vector/lib/OpenLayers/Renderer/Vml.js 2006-12-04 10:44:44 UTC (rev 1994)
@@ -272,12 +272,19 @@
node.coordsize = this._vmlParseFloat(bbox.width)+ " " +this._vmlParseFloat(bbox.height);
var path = "";
- for (var i = 0; i < geometry.linearRings[0].path.length; i++) {
- if (i == 0) {
- path += "m " +this._vmlParseFloat(geometry.linearRings[0].path[i].getX()-bbox.x)+ "," +this._vmlParseFloat(geometry.linearRings[0].path[i].getY()-bbox.y)+ " l";
- } else{
- path += " " +this._vmlParseFloat(geometry.linearRings[0].path[i].getX()-bbox.x)+ "," +this._vmlParseFloat(geometry.linearRings[0].path[i].getY()-bbox.y)+ " l ";
+ for (var j = 0; j < geometry.linearRings.length; j++) {
+ var linearRing = geometry.linearRings[j];
+ if (j != 0) {
+ path += " x ";
}
+
+ for (var i = 0; i < linearRing.path.length; i++) {
+ if (i == 0) {
+ path += "m " +this._vmlParseFloat(linearRing.path[i].getX()-bbox.x)+ "," +this._vmlParseFloat(linearRing.path[i].getY()-bbox.y)+ " l";
+ } else{
+ path += " " +this._vmlParseFloat(linearRing.path[i].getX()-bbox.x)+ "," +this._vmlParseFloat(linearRing.path[i].getY()-bbox.y);
+ }
+ }
}
path += " x e";
More information about the Commits
mailing list