Changeset 3177
- Timestamp:
- 05/24/07 10:43:07 (2 years ago)
- Files:
-
- branches/openlayers/2.4/doc/authors.txt (modified) (1 diff)
- branches/openlayers/2.4/examples/georss-serialize.html (modified) (2 diffs)
- branches/openlayers/2.4/examples/popups.html (modified) (2 diffs)
- branches/openlayers/2.4/examples/vector-features.html (modified) (3 diffs)
- branches/openlayers/2.4/examples/wkt.html (modified) (2 diffs)
- branches/openlayers/2.4/lib/OpenLayers/BaseTypes.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Control/OverviewMap.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Feature.js (modified) (3 diffs)
- branches/openlayers/2.4/lib/OpenLayers/Format/GeoRSS.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Format/WKT.js (modified) (9 diffs)
- branches/openlayers/2.4/lib/OpenLayers/Geometry.js (modified) (2 diffs)
- branches/openlayers/2.4/lib/OpenLayers/Layer.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Layer/Image.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Layer/Vector.js (modified) (2 diffs)
- branches/openlayers/2.4/lib/OpenLayers/Layer/WMS/Untiled.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Map.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Popup.js (modified) (4 diffs)
- branches/openlayers/2.4/lib/OpenLayers/Popup/AnchoredBubble.js (modified) (1 diff)
- branches/openlayers/2.4/lib/OpenLayers/Renderer/SVG.js (modified) (2 diffs)
- branches/openlayers/2.4/readme.txt (modified) (2 diffs)
- branches/openlayers/2.4/tests/Format/test_GeoRSS.html (copied) (copied from trunk/openlayers/tests/Format/test_GeoRSS.html)
- branches/openlayers/2.4/tests/Format/test_WKT.html (modified) (3 diffs)
- branches/openlayers/2.4/tests/Layer/test_Grid.html (modified) (1 diff)
- branches/openlayers/2.4/tests/Tile/test_Image.html (modified) (3 diffs)
- branches/openlayers/2.4/tests/list-tests.html (modified) (3 diffs)
- branches/openlayers/2.4/tests/test_Map.html (modified) (1 diff)
- branches/openlayers/2.4/tests/test_Popup.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/openlayers/2.4/doc/authors.txt
r2948 r3177 2 2 Howard Butler 3 3 Bertil Chaupis 4 John Cole 4 5 Jeff Dege 5 6 Schuyler Erle branches/openlayers/2.4/examples/georss-serialize.html
r2978 r3177 3 3 <style type="text/css"> 4 4 #map { 5 width: 512px;5 width: 45%; 6 6 height: 350px; 7 7 border: 1px solid gray; … … 43 43 <body onload="init()"> 44 44 <h1>OpenLayers Draw Point Example</h1> 45 <div style="float:right ">46 <textarea id="gml" cols="80" rows="30"></textarea>45 <div style="float:right;width:50%"> 46 <textarea id="gml" style="width:100%" rows="30"></textarea> 47 47 </div> 48 48 <div id="map"></div> branches/openlayers/2.4/examples/popups.html
r1704 r3177 48 48 new OpenLayers.LonLat(5,40), 49 49 new OpenLayers.Size(200,200), 50 "example popup" );50 "example popup", true); 51 51 52 52 map.addPopup(popup); … … 70 70 71 71 function mousedown(evt) { 72 // check to see if the popup was hidden by the close box 73 // if so, then destroy it before continuing 74 if (popup != null) { 75 if (!popup.visible()) { 76 markers.map.removePopup(popup); 77 popup.destroy(); 78 popup = null; 79 } 80 } 72 81 if (popup == null) { 73 popup = feature.createPopup( );82 popup = feature.createPopup(true); 74 83 popup.setContentHTML("<a href='http://www.somethingconstructive.net' target='_blank'>click me</a>"); 75 84 popup.setBackgroundColor("yellow"); branches/openlayers/2.4/examples/vector-features.html
r3088 r3177 18 18 "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ); 19 19 map.addLayer(layer); 20 21 var style_blue = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']); 22 style_blue.strokeColor = "blue"; 23 style_blue.fillColor = "blue"; 24 var style_green = { 25 strokeColor: "#00FF00", 26 strokeOpacity: 1, 27 strokeWidth: 3, 28 pointRadius: 6, 29 pointerEvents: "visiblePainted" 30 }; 31 20 32 var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry"); 21 33 22 34 // create a point feature 23 35 var point = new OpenLayers.Geometry.Point(-111.04, 45.68); 24 var pointFeature = new OpenLayers.Feature.Vector(point );36 var pointFeature = new OpenLayers.Feature.Vector(point,null,style_blue); 25 37 26 38 // create a line feature from a list of points … … 33 45 } 34 46 var lineFeature = new OpenLayers.Feature.Vector( 35 new OpenLayers.Geometry.LineString(pointList) );47 new OpenLayers.Geometry.LineString(pointList),null,style_green); 36 48 37 49 // create a polygon feature from a linear ring of points … … 60 72 <body onload="init()"> 61 73 <div id="map"></div> 74 <p>This example shows drawing simple vector features -- point, line, polygon 75 in different styles, created 'manually', by constructing the entire style 76 object, via 'copy', extending the default style object, and by 77 inheriting the default style from the layer.</p> 62 78 </body> 63 79 </html> branches/openlayers/2.4/examples/wkt.html
r3088 r3177 79 79 80 80 function displayWKT(feature) { 81 var str = wkt.write(feature .geometry);81 var str = wkt.write(feature); 82 82 // not a good idea in general, just for this demo 83 83 str = str.replace(/,/g, ', '); … … 87 87 function parseWKT() { 88 88 var element = document.getElementById('wkt'); 89 var collection= wkt.read(element.value);89 var features = wkt.read(element.value); 90 90 var bounds; 91 if( collection) {92 if( collection.constructor != Array) {93 collection = [collection];91 if(features) { 92 if(features.constructor != Array) { 93 features = [features]; 94 94 } 95 var features = []; 96 for(var i=0; i<collection.length; ++i) { 97 features.push(new OpenLayers.Feature.Vector(collection[i])); 95 for(var i=0; i<features.length; ++i) { 98 96 if (!bounds) { 99 bounds = collection[i].getBounds(); 97 bounds = features[i].geometry.getBounds(); 98 } else { 99 bounds.extend(features[i].geometry.getBounds()); 100 100 } 101 bounds.extend(collection[i].getBounds());102 101 103 102 } branches/openlayers/2.4/lib/OpenLayers/BaseTypes.js
r2943 r3177 32 32 // 33 33 // to be revisited in 3.0 34 // 35 if (arguments[i].hasOwnProperty('toString')) { 34 // 35 if((arguments[i].hasOwnProperty && arguments[i].hasOwnProperty('toString')) || 36 (!arguments[i].hasOwnProperty && arguments[i].toString)) { 36 37 proto.toString = arguments[i].toString; 37 38 } branches/openlayers/2.4/lib/OpenLayers/Control/OverviewMap.js
r3112 r3177 181 181 OpenLayers.Event.stop(e); 182 182 }); 183 this.rectEvents = new OpenLayers.Events(this, this.extentRectangle); 183 this.rectEvents = new OpenLayers.Events(this, this.extentRectangle, 184 null, true); 184 185 this.rectEvents.register('mouseout', this, this.rectMouseOut); 185 186 this.rectEvents.register('mousedown', this, this.rectMouseDown); branches/openlayers/2.4/lib/OpenLayers/Feature.js
r2894 r3177 122 122 123 123 /** 124 * @param {Boolean} closeBox create popup with closebox or not 124 125 * @returns A Popup Object created from the 'lonlat', 'popupSize', 125 126 * and 'popupContentHTML' properties set in this.data. It uses … … 133 134 * @type OpenLayers.Popup.AnchoredBubble 134 135 */ 135 createPopup: function( ) {136 createPopup: function(closeBox) { 136 137 137 138 if (this.lonlat != null) { … … 144 145 this.data.popupSize, 145 146 this.data.popupContentHTML, 146 anchor );147 anchor, closeBox); 147 148 } 148 149 return this.popup; branches/openlayers/2.4/lib/OpenLayers/Format/GeoRSS.js
r2978 r3177 98 98 if (points) { 99 99 for (var i = 0; i < points.length; i++) { 100 path += points[i]. lat + " " + points[i].lon+ " ";100 path += points[i].y + " " + points[i].x + " "; 101 101 } 102 102 } else { 103 path += geometry. lat + " " + geometry.lon+ " ";103 path += geometry.y + " " + geometry.x + " "; 104 104 } 105 105 return document.createTextNode(path); branches/openlayers/2.4/lib/OpenLayers/Format/WKT.js
r2978 r3177 26 26 27 27 /** 28 * Deserialize a WKT string and return an OpenLayers.Geometry or an array 29 * of OpenLayers.Geometry. Supports WKT for POINT, MULTIPOINT, LINESTRING, 30 * MULTILINESTRING, POLYGON, MULTIPOLYGON, and GEOMETRYCOLLECTION. 28 * Deserialize a WKT string and return an OpenLayers.Feature.Vector or an 29 * array of OpenLayers.Feature.Vector. Supports WKT for POINT, MULTIPOINT, 30 * LINESTRING, MULTILINESTRING, POLYGON, MULTIPOLYGON, and 31 * GEOMETRYCOLLECTION. 31 32 * @param {String} wkt A WKT string 32 * @returns {OpenLayers.Geometry|Array} A geometry or array of geometries 33 * for GEOMETRYCOLLECTION WKT. 33 * @returns {OpenLayers.Feature.Vector|Array} A feature or array of 34 * features for 35 * GEOMETRYCOLLECTION WKT. 34 36 */ 35 37 read: function(wkt) { 36 var geometry, type, str;38 var features, type, str; 37 39 var matches = this.regExes.typeStr.exec(wkt); 38 40 if(matches) { … … 40 42 str = matches[2]; 41 43 if(this.parse[type]) { 42 geometry = this.parse[type].apply(this, [str]); 43 } 44 } 45 return geometry; 46 }, 47 48 /** 49 * Serialize a geometry or array of geometries into a WKT string. 50 * @param {OpenLayers.Geometry|Array} geom A geometry or array of geometries 44 features = this.parse[type].apply(this, [str]); 45 } 46 } 47 return features; 48 }, 49 50 /** 51 * Serialize a feature or array of features into a WKT string. 52 * @param {OpenLayers.Feature.Vector|Array} features A feature or array of 53 * features 51 54 * @returns {String} The WKT string representation of the input geometries 52 55 */ 53 write: function( geom) {56 write: function(features) { 54 57 var collection, geometry, type, data, isCollection; 55 if( geom.constructor == Array) {56 collection = geom;58 if(features.constructor == Array) { 59 collection = features; 57 60 isCollection = true; 58 61 } else { 59 collection = [ geom];62 collection = [features]; 60 63 isCollection = false; 61 64 } … … 68 71 pieces.push(','); 69 72 } 70 geometry = collection[i] ;73 geometry = collection[i].geometry; 71 74 type = geometry.CLASS_NAME.split('.')[2].toLowerCase(); 72 75 if(!this.extract[type]) { … … 179 182 parse: { 180 183 /** 181 * Return point geometrygiven a point WKT fragment.184 * Return point feature given a point WKT fragment. 182 185 * @param {String} str A WKT fragment representing the point 183 * @returns {OpenLayers.Geometry.Point} A point geometry 186 * @returns {OpenLayers.Feature.Vector} A point feature 187 * @private 184 188 */ 185 189 'point': function(str) { 186 190 var coords = str.trim().split(this.regExes.spaces); 187 return new OpenLayers.Geometry.Point(coords[0], coords[1]); 188 }, 189 190 /** 191 * Return a multipoint geometry given a multipoint WKT fragment. 191 return new OpenLayers.Feature.Vector( 192 new OpenLayers.Geometry.Point(coords[0], coords[1]) 193 ); 194 }, 195 196 /** 197 * Return a multipoint feature given a multipoint WKT fragment. 192 198 * @param {String} A WKT fragment representing the multipoint 193 * @returns {OpenLayers.Geometry.MultiPoint} A multipoint geometry 199 * @returns {OpenLayers.Feature.Vector} A multipoint feature 200 * @private 194 201 */ 195 202 'multipoint': function(str) { … … 197 204 var components = []; 198 205 for(var i=0; i<points.length; ++i) { 199 components.push(this.parse.point.apply(this, [points[i]])); 200 } 201 return new OpenLayers.Geometry.MultiPoint(components); 206 components.push(this.parse.point.apply(this, [points[i]]).geometry); 207 } 208 return new OpenLayers.Feature.Vector( 209 new OpenLayers.Geometry.MultiPoint(components) 210 ); 202 211 }, 203 212 204 213 /** 205 * Return a linestring geometrygiven a linestring WKT fragment.214 * Return a linestring feature given a linestring WKT fragment. 206 215 * @param {String} A WKT fragment representing the linestring 207 * @returns {OpenLayers.Geometry.LineString} A linestring geometry 216 * @returns {OpenLayers.Feature.Vector} A linestring feature 217 * @private 208 218 */ 209 219 'linestring': function(str) { … … 211 221 var components = []; 212 222 for(var i=0; i<points.length; ++i) { 213 components.push(this.parse.point.apply(this, [points[i]])); 214 } 215 return new OpenLayers.Geometry.LineString(components); 216 }, 217 218 /** 219 * Return a multilinestring geometry given a multilinestring WKT fragment. 223 components.push(this.parse.point.apply(this, [points[i]]).geometry); 224 } 225 return new OpenLayers.Feature.Vector( 226 new OpenLayers.Geometry.LineString(components) 227 ); 228 }, 229 230 /** 231 * Return a multilinestring feature given a multilinestring WKT fragment. 220 232 * @param {String} A WKT fragment representing the multilinestring 221 * @returns {OpenLayers.Geometry.LineString} A multilinestring geometry 233 * @returns {OpenLayers.Feature.Vector} A multilinestring feature 234 * @private 222 235 */ 223 236 'multilinestring': function(str) { … … 227 240 for(var i=0; i<lines.length; ++i) { 228 241 line = lines[i].replace(this.regExes.trimParens, '$1'); 229 components.push(this.parse.linestring.apply(this, [line])); 230 } 231 return new OpenLayers.Geometry.MultiLineString(components); 242 components.push(this.parse.linestring.apply(this, [line]).geometry); 243 } 244 return new OpenLayers.Feature.Vector( 245 new OpenLayers.Geometry.MultiLineString(components) 246 ); 232 247 }, 233 248 234 249 /** 235 * Return a polygon geometrygiven a polygon WKT fragment.250 * Return a polygon feature given a polygon WKT fragment. 236 251 * @param {String} A WKT fragment representing the polygon 237 * @returns {OpenLayers.Geometry.Polygon} A polygon geometry 252 * @returns {OpenLayers.Feature.Vector} A polygon feature 253 * @private 238 254 */ 239 255 'polygon': function(str) { … … 243 259 for(var i=0; i<rings.length; ++i) { 244 260 ring = rings[i].replace(this.regExes.trimParens, '$1'); 245 linestring = this.parse.linestring.apply(this, [ring]) ;246 linearring = new OpenLayers.Geometry.LinearRing(linestring.components);261 linestring = this.parse.linestring.apply(this, [ring]).geometry; 262 linearring = new OpenLayers.Geometry.LinearRing(linestring.components) 247 263 components.push(linearring); 248 264 } 249 return new OpenLayers.Geometry.Polygon(components); 250 }, 251 252 /** 253 * Return a multipolygon geometry given a multipolygon WKT fragment. 265 return new OpenLayers.Feature.Vector( 266 new OpenLayers.Geometry.Polygon(components) 267 ); 268 }, 269 270 /** 271 * Return a multipolygon feature given a multipolygon WKT fragment. 254 272 * @param {String} A WKT fragment representing the multipolygon 255 * @returns {OpenLayers.Geometry.MultiPolygon} A multipolygon geometry 273 * @returns {OpenLayers.Feature.Vector} A multipolygon feature 274 * @private 256 275 */ 257 276 'multipolygon': function(str) { … … 261 280 for(var i=0; i<polygons.length; ++i) { 262 281 polygon = polygons[i].replace(this.regExes.trimParens, '$1'); 263 components.push(this.parse.polygon.apply(this, [polygon])); 264 } 265 return new OpenLayers.Geometry.MultiPolygon(components); 266 }, 267 268 /** 269 * Return an array of geometries given a geometrycollection WKT fragment. 282 components.push(this.parse.polygon.apply(this, [polygon]).geometry); 283 } 284 return new OpenLayers.Feature.Vector( 285 new OpenLayers.Geometry.MultiPolygon(components) 286 ); 287 }, 288 289 /** 290 * Return an array of features given a geometrycollection WKT fragment. 270 291 * @param {String} A WKT fragment representing the geometrycollection 271 * @returns {Array} An array of OpenLayers.Geometry 292 * @returns {Array} An array of OpenLayers.Feature.Vector 293 * @private 272 294 */ 273 295 'geometrycollection': function(str) { branches/openlayers/2.4/lib/OpenLayers/Geometry.js
r3088 r3177 6 6 * @class 7 7 * @requires OpenLayers/Format/WKT.js 8 * @requires OpenLayers/Feature/Vector.js 8 9 */ 9 10 OpenLayers.Geometry = OpenLayers.Class.create(); … … 151 152 */ 152 153 toString: function() { 153 return OpenLayers.Format.WKT.prototype.write(this); 154 return OpenLayers.Format.WKT.prototype.write( 155 new OpenLayers.Feature.Vector(this) 156 ); 154 157 }, 155 158 branches/openlayers/2.4/lib/OpenLayers/Layer.js
r3112 r3177 609 609 var size = this.map.getSize(); 610 610 var center = this.map.getCenter(); 611 var res = this.map.getResolution(); 612 613 var delta_x = viewPortPx.x - (size.w / 2); 614 var delta_y = viewPortPx.y - (size.h / 2); 615 616 lonlat = new OpenLayers.LonLat(center.lon + delta_x * res , 617 center.lat - delta_y * res); 611 if (center) { 612 var res = this.map.getResolution(); 613 614 var delta_x = viewPortPx.x - (size.w / 2); 615 var delta_y = viewPortPx.y - (size.h / 2); 616 617 lonlat = new OpenLayers.LonLat(center.lon + delta_x * res , 618 center.lat - delta_y * res); 619 } // else { DEBUG STATEMENT } 618 620 } 619 621 return lonlat; branches/openlayers/2.4/lib/OpenLayers/Layer/Image.js
r3088 r3177 12 12 * 13 13 * @requires OpenLayers/Layer.js 14 * @requires OpenLayers/Tile/Image.js 14 15 */ 15 16 OpenLayers.Layer.Image = OpenLayers.Class.create(); branches/openlayers/2.4/lib/OpenLayers/Layer/Vector.js
r3112 r3177 98 98 OpenLayers.Layer.prototype.destroy.apply(this, arguments); 99 99 100 // HACK HACK -- I believe we should be iterating and 101 // calling feature[i].destroy() here. 100 this.destroyFeatures(); 102 101 this.features = null; 103 102 this.selectedFeatures = null; … … 248 247 this.features = OpenLayers.Util.removeItem(this.features, feature); 249 248 250 this.renderer.eraseGeometry(feature.geometry); 251 249 if (feature.geometry) { 250 this.renderer.eraseGeometry(feature.geometry); 251 } 252 252 253 //in the case that this feature is one of the selected features, 253 254 // remove it from that array as well. branches/openlayers/2.4/lib/OpenLayers/Layer/WMS/Untiled.js
r2979 r3177 93 93 94 94 // copy/set any non-init, non-simple values here 95 95 96 obj.tile = null; 97 96 98 return obj; 97 99 }, branches/openlayers/2.4/lib/OpenLayers/Map.js
r2958 r3177 200 200 // only append link stylesheet if the theme property is set 201 201 if(this.theme) { 202 var cssNode = document.createElement('link'); 203 cssNode.setAttribute('rel', 'stylesheet'); 204 cssNode.setAttribute('type', 'text/css'); 205 cssNode.setAttribute('href', this.theme); 206 document.getElementsByTagName('head')[0].appendChild(cssNode); 202 // check existing links for equivalent url 203 var addNode = true; 204 var nodes = document.getElementsByTagName('link'); 205 for(var i=0; i<nodes.length; ++i) { 206 if(OpenLayers.Util.isEquivalentUrl(nodes.item(i).href, 207 this.theme)) { 208 addNode = false; 209 break; 210 } 211 } 212 // only add a new node if one with an equivalent url hasn't already 213 // been added 214 if(addNode) { 215 var cssNode = document.createElement('link'); 216 cssNode.setAttribute('rel', 'stylesheet'); 217 cssNode.setAttribute('type', 'text/css'); 218 cssNode.setAttribute('href', this.theme); 219 document.getElementsByTagName('head')[0].appendChild(cssNode); 220 } 207 221 } 208 222 branches/openlayers/2.4/lib/OpenLayers/Popup.js
r3088 r3177 46 46 /** @type DOMElement */ 47 47 contentDiv:null, 48 49 /** @type DOMElement */ 50 groupDiv:null, 48 51 49 52 /** @type int */ … … 85 88 null, null, null, "hidden"); 86 89 this.div.className = 'olPopup'; 90 91 this.groupDiv = OpenLayers.Util.createDiv(null, null, null, 92 null, "relative", null, 93 "hidden"); 87 94 88 95 var id = this.div.id + "_contentDiv"; … … 91 98 "hidden"); 92 99 this.contentDiv.className = 'olPopupContent'; 93 this.div.appendChild(this.contentDiv); 100 this.groupDiv.appendChild(this.contentDiv); 101 this.div.appendChild(this.groupDiv); 94 102 95 103 if (closeBox == true) { … … 103 111 closeImg.style.right = this.padding + "px"; 104 112 closeImg.style.top = this.padding + "px"; 105 this. div.appendChild(closeImg);113 this.groupDiv.appendChild(closeImg); 106 114 107 115 var closePopup = function(e) { branches/openlayers/2.4/lib/OpenLayers/Popup/AnchoredBubble.js
r2094 r3177 140 140 OpenLayers.Rico.Corner.round(this.div, options); 141 141 } else { 142 OpenLayers.Rico.Corner.reRound(this. contentDiv, options);142 OpenLayers.Rico.Corner.reRound(this.groupDiv, options); 143 143 //set the popup color and opacity 144 144 this.setBackgroundColor(); branches/openlayers/2.4/lib/OpenLayers/Renderer/SVG.js
r3088 r3177 283 283 node.setAttributeNS(null, "r", radius); 284 284 } else { 285 node.setAttributeNS(null, "cx", ""); 286 node.setAttributeNS(null, "cy", ""); 287 node.setAttributeNS(null, "r", 0); 285 this.root.removeChild(node); 288 286 } 289 287 … … 435 433 for(var i = 0; i < components.length; i++) { 436 434 var component = this.getShortString(components[i]); 437 if (!component) { return false; } 438 strings.push(component); 435 if (component) { 436 strings.push(component); 437 } 439 438 } 440 439 return strings.join(","); branches/openlayers/2.4/readme.txt
r1424 r3177 21 21 22 22 You can use OpenLayers as-is by copying build/OpenLayers.js and the 23 entire lib/ directory up to your webserver, putting them in the same24 directory. To include the OpenLayers library in your web page, use:23 entire theme/ and img/ directories up to your webserver, putting them 24 in the same directory. The files can be in subdirectories on your website, or right in the root of the site, as in these examples. To include the OpenLayers library in your web page from the root of the site, use: 25 25 26 <script type="text/javascript" src="OpenLayers.js" /> 26 <script type="text/javascript" src="/OpenLayers.js" /> 27 28 As an example, using bash (with the release files in ~/openlayers ): 29 $ cd /var/www/html 30 $ cp ~/openlayers/build/OpenLayers.js ./ 31 $ cp -R ~/openlayers/theme ./ 32 $ cp -R ~/openlayers/img ./ 27 33 28 34 If you want to use the multiple-file version of OpenLayers (for, say, … … 31 37 the following to your web page instead: 32 38 33 <script type="text/javascript" src="lib/OpenLayers.js" /> 39 <script type="text/javascript" src="/lib/OpenLayers.js" /> 40 41 As an example, using bash (with the release files in ~/openlayers ): 42 $ cd /var/www/html 43 $ cp -R ~/openlayers/lib ./ 44 $ cp -R ~/openlayers/theme ./ 45 $ cp -R ~/openlayers/img ./ 46 34 47 35 48 ------------------------------------ branches/openlayers/2.4/tests/Format/test_WKT.html
r2978 r3177 6 6 var points = []; 7 7 for(var i=0; i<12; ++i) { 8 points.push(new OpenLayers.Geometry.Point(Math.random() * 100, 9 Math.random() * 100)); 8 points.push(new OpenLayers.Feature.Vector( 9 new OpenLayers.Geometry.Point(Math.random() * 100, 10 Math.random() * 100)) 11 ); 10 12 } 11 var multipoint = new OpenLayers.Geometry.MultiPoint([ 12 points[0], points[1], points[2] 13 ]); 13 var multipoint = new OpenLayers.Feature.Vector( 14 new OpenLayers.Geometry.MultiPoint([ 15 points[0].geometry, points[1].geometry, points[2].geometry 16 ]) 17 ); 14 18 15 19 var linestrings = [ 16 new OpenLayers.Geometry.LineString([points[0], points[1], points[2]]), 17 new OpenLayers.Geometry.LineString([points[3], points[4], points[5]]) 20 new OpenLayers.Feature.Vector( 21 new OpenLayers.Geometry.LineString([points[0].geometry, points[1].geometry, points[2].geometry]) 22 ), 23 new OpenLayers.Feature.Vector( 24 new OpenLayers.Geometry.LineString([points[3].geometry, points[4].geometry, points[5].geometry]) 25 ) 18 26 ]; 19 27 20 var multilinestring = new OpenLayers.Geometry.MultiLineString([ 21 linestrings[0], linestrings[1] 22 ]); 28 var multilinestring = new OpenLayers.Feature.Vector( 29 new OpenLayers.Geometry.MultiLineString([ 30 linestrings[0].geometry, linestrings[1].geometry 31 ]) 32 ); 23 33 24 34 var rings = [ 25 new OpenLayers.Geometry.LinearRing([points[0] , points[1], points[2]]),26 new OpenLayers.Geometry.LinearRing([points[3] , points[4], points[5]]),27 new OpenLayers.Geometry.LinearRing([points[6] , points[7], points[8]]),28 new OpenLayers.Geometry.LinearRing([points[9] , points[10], points[11]])35 new OpenLayers.Geometry.LinearRing([points[0].geometry, points[1].geometry, points[2].geometry]), 36 new OpenLayers.Geometry.LinearRing([points[3].geometry, points[4].geometry, points[5].geometry]), 37 new OpenLayers.Geometry.LinearRing([points[6].geometry, points[7].geometry, points[8].geometry]), 38 new OpenLayers.Geometry.LinearRing([points[9].geometry, points[10].geometry, points[11].geometry]) 29 39 ]; 30 40 31 41 var polygons = [ 32 new OpenLayers.Geometry.Polygon([rings[0], rings[1]]), 33 new OpenLayers.Geometry.Polygon([rings[2], rings[3]]) 42 new OpenLayers.Feature.Vector( 43 new OpenLayers.Geometry.Polygon([rings[0], rings[1]]) 44 ), 45 new OpenLayers.Feature.Vector( 46 new OpenLayers.Geometry.Polygon([rings[2], rings[3]]) 47 ) 34 48 ]; 35 49 36 var multipolygon = new OpenLayers.Geometry.MultiPolygon([ 37 polygons[0], polygons[1] 38 ]); 50 var multipolygon = new OpenLayers.Feature.Vector( 51 new OpenLayers.Geometry.MultiPolygon([ 52 polygons[0].geometry, polygons[1].geometry 53 ]) 54 ); 39 55 40 56 var collection = [points[0], linestrings[0]]; … … 54 70 t.plan(7); 55 71 var format = new OpenLayers.Format.WKT(); 56 72 57 73 // test a point 58 74 t.eq(format.write(points[0]), 59 "POINT(" + points[0]. x + " " + points[0].y + ")",75 "POINT(" + points[0].geometry.x + " " + points[0].geometry.y + ")", 60 76 "format correctly writes Point WKT"); 61 77 62 78 // test a multipoint 63 79 t.eq(format.write(multipoint), 64 "MULTIPOINT(" + points[0]. x + " " + points[0].y + "," +65 points[1]. x + " " + points[1].y + "," +66 points[2]. x + " " + points[2].y + ")",80 "MULTIPOINT(" + points[0].geometry.x + " " + points[0].geometry.y + "," + 81 points[1].geometry.x + " " + points[1].geometry.y + "," + 82 points[2].geometry.x + " " + points[2].geometry.y + ")", 67 83 "format correctly writes MultiPoint WKT"); 68 84 69 85 // test a linestring 70 86 t.eq(format.write(linestrings[0]), 71 "LINESTRING(" + points[0]. x + " " + points[0].y + "," +72 points[1]. x + " " + points[1].y + "," +73 points[2]. x + " " + points[2].y + ")",87 "LINESTRING(" + points[0].geometry.x + " " + points[0].geometry.y + "," + 88 points[1].geometry.x + " " + points[1].geometry.y + "," + 89 points[2].geometry.x + " " + points[2].geometry.y + ")", 74 90 "format correctly writes LineString WKT"); 75 91 76 92 // test a multilinestring 77 93 t.eq(format.write(multilinestring), 78 "MULTILINESTRING((" + points[0]. x + " " + points[0].y + "," +79 points[1]. x + " " + points[1].y + "," +80 points[2]. x + " " + points[2].y + ")," +81 "(" + points[3]. x + " " + points[3].y + "," +82 points[4]. x + " " + points[4].y + "," +83 points[5]. x + " " + points[5].y + "))",94 "MULTILINESTRING((" + points[0].geometry.x + " " + points[0].geometry.y + "," + 95 points[1].geometry.x + " " + points[1].geometry.y + "," + 96 points[2].geometry.x + " " + points[2].geometry<
