1 | // Create 50 random features, and give them a "type" attribute that |
---|
2 | // will be used for the label text. |
---|
3 | var features = new Array(50); |
---|
4 | for (var i=0; i<features.length; i++) { |
---|
5 | features[i] = new OpenLayers.Feature.Vector( |
---|
6 | new OpenLayers.Geometry.Point( |
---|
7 | (360 * Math.random()) - 180, (180 * Math.random()) - 90 |
---|
8 | ), { |
---|
9 | type: 5 + parseInt(5 * Math.random()) |
---|
10 | } |
---|
11 | ); |
---|
12 | } |
---|
13 | |
---|
14 | /** |
---|
15 | * Create a style instance that is a collection of rules with symbolizers. |
---|
16 | * Use a default symbolizer to extend symoblizers for all rules. |
---|
17 | */ |
---|
18 | var style = new OpenLayers.Style({ |
---|
19 | fillColor: "#ffcc66", |
---|
20 | strokeColor: "#ff9933", |
---|
21 | strokeWidth: 2, |
---|
22 | label: "${type}", |
---|
23 | fontColor: "#333333", |
---|
24 | fontFamily: "sans-serif", |
---|
25 | fontWeight: "bold" |
---|
26 | }, { |
---|
27 | rules: [ |
---|
28 | new OpenLayers.Rule({ |
---|
29 | minScaleDenominator: 200000000, |
---|
30 | symbolizer: { |
---|
31 | pointRadius: 7, |
---|
32 | fontSize: "9px" |
---|
33 | } |
---|
34 | }), |
---|
35 | new OpenLayers.Rule({ |
---|
36 | maxScaleDenominator: 200000000, |
---|
37 | minScaleDenominator: 100000000, |
---|
38 | symbolizer: { |
---|
39 | pointRadius: 10, |
---|
40 | fontSize: "12px" |
---|
41 | } |
---|
42 | }), |
---|
43 | new OpenLayers.Rule({ |
---|
44 | maxScaleDenominator: 100000000, |
---|
45 | symbolizer: { |
---|
46 | pointRadius: 13, |
---|
47 | fontSize: "15px" |
---|
48 | } |
---|
49 | }) |
---|
50 | ] |
---|
51 | }); |
---|
52 | |
---|
53 | // Create a vector layer and give it your style map. |
---|
54 | var points = new OpenLayers.Layer.Vector("Points", { |
---|
55 | styleMap: new OpenLayers.StyleMap(style) |
---|
56 | }); |
---|
57 | points.addFeatures(features); |
---|
58 | |
---|
59 | var map = new OpenLayers.Map({ |
---|
60 | div: "map", |
---|
61 | layers: [ |
---|
62 | new OpenLayers.Layer.WMS( |
---|
63 | "OpenLayers WMS", |
---|
64 | "http://vmap0.tiles.osgeo.org/wms/vmap0", |
---|
65 | {layers: "basic"} |
---|
66 | ), |
---|
67 | points |
---|
68 | ], |
---|
69 | center: new OpenLayers.LonLat(0, 0), |
---|
70 | zoom: 1 |
---|
71 | }); |
---|
72 | |
---|