diff options
Diffstat (limited to 'misc/openlayers/examples/light-basic.js')
-rw-r--r-- | misc/openlayers/examples/light-basic.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/misc/openlayers/examples/light-basic.js b/misc/openlayers/examples/light-basic.js new file mode 100644 index 0000000..89465be --- /dev/null +++ b/misc/openlayers/examples/light-basic.js @@ -0,0 +1,67 @@ +var map; + +function init() { + map = new OpenLayers.Map("map",{projection:"EPSG:3857"}); + + var osm = new OpenLayers.Layer.OSM(); + var toMercator = OpenLayers.Projection.transforms['EPSG:4326']['EPSG:3857']; + var center = toMercator({x:-0.05,y:51.5}); + + /** + * Create 5 random vector features. Your features would typically be fetched + * from the server. The features are given an attribute named "foo". + * The value of this attribute is an integer that ranges from 0 to 100. + */ + var features = []; + for(var i = 0; i < 5; i++) { + features[i] = new OpenLayers.Feature.Vector( + toMercator(new OpenLayers.Geometry.Point( + -0.040 - 0.05*Math.random(), + 51.49 + 0.02*Math.random())), + { + foo : 100 * Math.random() | 0 + }, { + fillColor : '#008040', + fillOpacity : 0.8, + strokeColor : "#ee9900", + strokeOpacity : 1, + strokeWidth : 1, + pointRadius : 8 + }); + } + + // create the layer with listeners to create and destroy popups + var vector = new OpenLayers.Layer.Vector("Points",{ + eventListeners:{ + 'featureselected':function(evt){ + var feature = evt.feature; + var popup = new OpenLayers.Popup.FramedCloud("popup", + OpenLayers.LonLat.fromString(feature.geometry.toShortString()), + null, + "<div style='font-size:.8em'>Feature: " + feature.id +"<br>Foo: " + feature.attributes.foo+"</div>", + null, + true + ); + feature.popup = popup; + map.addPopup(popup); + }, + 'featureunselected':function(evt){ + var feature = evt.feature; + map.removePopup(feature.popup); + feature.popup.destroy(); + feature.popup = null; + } + } + }); + vector.addFeatures(features); + + // create the select feature control + var selector = new OpenLayers.Control.SelectFeature(vector,{ + hover:true, + autoActivate:true + }); + + map.addLayers([osm, vector]); + map.addControl(selector); + map.setCenter(new OpenLayers.LonLat(center.x,center.y), 13); +} |