source: Dev/trunk/src/client/dojox/geo/openlayers/tests/test_gfx.html

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 3.7 KB
Line 
1<html>
2<head profile="http://www.w3.org/2002/12/namespace">
3<link rel="stylesheet" type="text/css" href="../../../../dijit/themes/dijit.css">
4<link rel="stylesheet" type="text/css" href="../../../../dijit/themes/tundra/tundra.css">
5<title>GFX Layer</title>
6<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7
8<!-- hosted version -->
9<script type="text/javascript" src="http://openlayers.org/api/2/OpenLayers.js"></script>
10
11<script type="text/javascript">
12        var djConfig = {
13                isDebug : true,
14                parseOnLoad : true
15        };
16</script>
17
18<script type="text/javascript" src="../../../../dojo/dojo.js"></script>
19
20<script type="text/javascript">
21        require([       "dojo/ready",
22                                                "dojo/_base/array",
23                                                "dojo/_base/lang",
24                                                "dojox/geo/openlayers/widget/Map",
25                                                "dojox/geo/openlayers/GfxLayer",
26                                                "dojox/geo/openlayers/Point",
27                                                "dojox/geo/openlayers/LineString",
28                                                "dojox/geo/openlayers/Collection",
29                                                "dojox/geo/openlayers/GeometryFeature",
30                                                "dojo/parser"], function(ready, arr, lang, Map, GfxLayer, Point, LineString, Collection, GeometryFeature){
31
32                ready(function(){
33                        var map = dijit.byId("map");
34                        var layer = new GfxLayer("GfxLayer");
35                        map.map.addLayer(layer);
36                        var p1 = {
37                                x : 7.154126,
38                                y : 43.651748
39                        };
40                        var pg1 = new Point(p1);
41
42                        var p2 = {
43                                x : 7.1541,
44                                y : 43.6517
45                        };
46                        var pg2 = new Point(p2);
47
48                        var grp = new Collection([pg1, pg2]);
49
50                        var gf = new GeometryFeature(grp);
51                        gf.setStroke("red");
52                        gf.setShapeProperties({
53                                r : 10
54                        });
55                        layer.addFeature(gf);
56
57                        var cx = 7.154;
58                        var cy = 43.651;
59                        var ex = 0.001;
60
61                        var a1 = [{
62                                x : cx - ex,
63                                y : cy + ex
64                        }, {
65                                x : cx + ex,
66                                y : cy + ex
67                        }, {
68                                x : cx + ex,
69                                y : cy - ex
70                        }, {
71                                x : cx - ex,
72                                y : cy - ex
73                        }, {
74                                x : cx - ex,
75                                y : cy + ex
76                        }];
77
78                        ex = 0.00018;
79                        var a2 = [{
80                                x : cx - ex,
81                                y : cy + ex
82                        }, {
83                                x : cx + ex,
84                                y : cy + ex
85                        }, {
86                                x : cx + ex,
87                                y : cy - ex
88                        }, {
89                                x : cx - ex,
90                                y : cy - ex
91                        }, {
92                                x : cx - ex,
93                                y : cy + ex
94                        }];
95
96                        var f1 = new LineString(a1);
97                        var f2 = new LineString(a2);
98
99                        grp = new Collection([f1, f2]);
100                        gf = new GeometryFeature(grp);
101                        gf.setStroke("blue");
102                        gf.setFill([0, 0, 0, 0.2]);
103                        layer.addFeature(gf);
104                        arr.forEach(a2, function(p){
105                                var pg = new Point(p);
106                                gf = new GeometryFeature(pg);
107                                gf.createShape = lang.hitch(this, function(/* Surface */s){
108                                        var r1 = 30;
109                                        var r2 = 10;
110                                        var branches = 9;
111                                        var star = makeStarShape(r1, r2, branches);
112                                        var path = s.createPath();
113                                        path.setShape({
114                                                path : star
115                                        });
116                                        return path;
117                                });
118                                gf.setStroke("aqua");
119                                //      gf.setFill({
120                                //        color : [ 255, 100, 0 ]
121                                //      });
122                                gf.setFill([255, 100, 0]);
123                                layer.addFeature(gf);
124                        });
125                        layer.redraw();
126                });
127
128                function makeStarShape(r1, r2, b){
129                        var TPI = Math.PI * 2;
130                        var di = TPI / b;
131                        var s = null;
132                        var start = Math.PI;
133                        var end = start + TPI;
134                        for ( var i = start; i < end; i += di) {
135                                var c1 = Math.cos(i);
136                                var s1 = Math.sin(i);
137                                var i2 = i + di / 2;
138                                var c2 = Math.cos(i2);
139                                var s2 = Math.sin(i2);
140                                if (s == null) {
141                                        s = "M" + (s1 * r1).toFixed(2) + "," + (c1 * r1).toFixed(2) + " ";
142                                } else {
143                                        s += "L" + (s1 * r1).toFixed(2) + "," + (c1 * r1).toFixed(2) + " ";
144                                }
145                                s += "L" + (s2 * r2).toFixed(2) + "," + (c2 * r2).toFixed(2) + " ";
146                        }
147                        s += "z";
148                        return s;
149                }
150
151        });
152</script>
153
154</head>
155<body class="tundra">
156</head>
157
158<div id="map" dojoType="dojox.geo.openlayers.widget.Map" baseLayerType="'OSM'"
159        initialLocation="{
160    position : [7.154126, 43.651748],
161    extent : 0.002 }"
162        style="background-color: #b5d0d0; width: 100%; height: 100%;"></div>
163
164</body>
165</html>
Note: See TracBrowser for help on using the repository browser.