diff options
author | Chris Schlaeger <chris@linux.com> | 2014-08-12 21:56:44 +0200 |
---|---|---|
committer | Chris Schlaeger <chris@linux.com> | 2014-08-12 21:56:44 +0200 |
commit | ea346a785dc1b3f7c156f6fc33da634e1f1a627b (patch) | |
tree | af67530553d20b6e82ad60fd79593e9c4abf5565 /misc/openlayers/examples/vector-features.html | |
parent | 59741cd535c47f25971bf8c32b25da25ceadc6d5 (diff) | |
download | postrunner-0.0.4.zip |
Adding jquery, flot and openlayers to be included with the GEM.v0.0.4
Diffstat (limited to 'misc/openlayers/examples/vector-features.html')
-rw-r--r-- | misc/openlayers/examples/vector-features.html | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/misc/openlayers/examples/vector-features.html b/misc/openlayers/examples/vector-features.html new file mode 100644 index 0000000..62fe8e9 --- /dev/null +++ b/misc/openlayers/examples/vector-features.html @@ -0,0 +1,149 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> + <meta name="apple-mobile-web-app-capable" content="yes"> + <title>OpenLayers: Vector Features</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 type="text/javascript"> + var map; + + function init(){ + map = new OpenLayers.Map('map'); + var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", + "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} ); + map.addLayer(layer); + + // allow testing of specific renderers via "?renderer=Canvas", etc + var renderer = OpenLayers.Util.getParameters(window.location.href).renderer; + renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers; + + /* + * Layer style + */ + // we want opaque external graphics and non-opaque internal graphics + var layer_style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']); + layer_style.fillOpacity = 0.2; + layer_style.graphicOpacity = 1; + + /* + * Blue style + */ + var style_blue = OpenLayers.Util.extend({}, layer_style); + style_blue.strokeColor = "blue"; + style_blue.fillColor = "blue"; + style_blue.graphicName = "star"; + style_blue.pointRadius = 10; + style_blue.strokeWidth = 3; + style_blue.rotation = 45; + style_blue.strokeLinecap = "butt"; + + /* + * Green style + */ + var style_green = { + strokeColor: "#00FF00", + strokeWidth: 3, + strokeDashstyle: "dashdot", + pointRadius: 6, + pointerEvents: "visiblePainted", + title: "this is a green line" + }; + + /* + * Mark style + */ + var style_mark = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']); + // each of the three lines below means the same, if only one of + // them is active: the image will have a size of 24px, and the + // aspect ratio will be kept + // style_mark.pointRadius = 12; + // style_mark.graphicHeight = 24; + // style_mark.graphicWidth = 24; + + // if graphicWidth and graphicHeight are both set, the aspect ratio + // of the image will be ignored + style_mark.graphicWidth = 24; + style_mark.graphicHeight = 20; + style_mark.graphicXOffset = 10; // default is -(style_mark.graphicWidth/2); + style_mark.graphicYOffset = -style_mark.graphicHeight; + style_mark.externalGraphic = "../img/marker.png"; + // title only works in Firefox and Internet Explorer + style_mark.title = "this is a test tooltip"; + + var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry", { + style: layer_style, + renderers: renderer + }); + + // create a point feature + var point = new OpenLayers.Geometry.Point(-111.04, 45.68); + var pointFeature = new OpenLayers.Feature.Vector(point,null,style_blue); + var point2 = new OpenLayers.Geometry.Point(-105.04, 49.68); + var pointFeature2 = new OpenLayers.Feature.Vector(point2,null,style_green); + var point3 = new OpenLayers.Geometry.Point(-105.04, 49.68); + var pointFeature3 = new OpenLayers.Feature.Vector(point3,null,style_mark); + + // create a line feature from a list of points + var pointList = []; + var newPoint = point; + for(var p=0; p<15; ++p) { + newPoint = new OpenLayers.Geometry.Point(newPoint.x + Math.random(1), + newPoint.y + Math.random(1)); + pointList.push(newPoint); + } + var lineFeature = new OpenLayers.Feature.Vector( + new OpenLayers.Geometry.LineString(pointList),null,style_green); + + // create a polygon feature from a linear ring of points + var pointList = []; + for(var p=0; p<6; ++p) { + var a = p * (2 * Math.PI) / 7; + var r = Math.random(1) + 1; + var newPoint = new OpenLayers.Geometry.Point(point.x + (r * Math.cos(a)), + point.y + (r * Math.sin(a))); + pointList.push(newPoint); + } + pointList.push(pointList[0]); + + var linearRing = new OpenLayers.Geometry.LinearRing(pointList); + var polygonFeature = new OpenLayers.Feature.Vector( + new OpenLayers.Geometry.Polygon([linearRing])); + + + map.addLayer(vectorLayer); + map.setCenter(new OpenLayers.LonLat(point.x, point.y), 5); + vectorLayer.addFeatures([pointFeature, pointFeature3, pointFeature2, lineFeature, polygonFeature]); + } + </script> + </head> + <body onload="init()"> +<h1 id="title">Drawing Simple Vector Features Example</h1> + +<div id="tags"> + vector, feature, light +</div> +<p id="shortdesc"> + Shows the use of the shows drawing simple vector features, in different styles. +</p> +<div id="map" class="smallmap"></div> +<div id="docs"> + <p>This example shows drawing simple vector features -- point, line, polygon + in different styles, created 'manually', by constructing the entire style + object, via 'copy', extending the default style object, and by + inheriting the default style from the layer.</p> + <p>It also shows how to use external graphic files for point features + and how to set their size: If either graphicWidth or graphicHeight is set, + the aspect ratio of the image will be respected. If both graphicWidth and + graphicHeight are set, it will be ignored. Alternatively, if graphicWidth + and graphicHeight are omitted, pointRadius will be used to set the size + of the image, which will then be twice the value of pointRadius with the + original aspect ratio.</p> +</div> + + </body> +</html> + |