--- a/labs/stopBrowser.php +++ b/labs/stopBrowser.php @@ -1,102 +1,119 @@ <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <script src="openlayers/OpenLayers.js"></script> - <SCRIPT TYPE="text/javascript" SRC="OpenStreetMap.js"></SCRIPT> - <script type="text/javascript"> - var map,select; + <!-- + /* + * Copyright 2010,2011 Alexander Sadleir + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + --> + <head> + <script src="openlayers/OpenLayers.js"></script> + <SCRIPT TYPE="text/javascript" SRC="OpenStreetMap.js"></SCRIPT> + <script type="text/javascript"> + var map,select; -function init() -{ - var extent = new OpenLayers.Bounds(148.98, -35.48, 149.25, -35.15); + function init() + { + var extent = new OpenLayers.Bounds(148.98, -35.48, 149.25, -35.15); - // set up the map options - var options = - { - maxExtent: extent, - numZoomLevels: 20, - }; + // set up the map options + var options = + { + maxExtent: extent, + numZoomLevels: 20, + }; - // create the ol map object - map = new OpenLayers.Map('map', options); + // create the ol map object + map = new OpenLayers.Map('map', options); -var osmtiles = new OpenLayers.Layer.OSM("OSM"); + var osmtiles = new OpenLayers.Layer.OSM("OSM"); -var nearmap = new OpenLayers.Layer.OSM.NearMap("NearMap"); + var nearmap = new OpenLayers.Layer.OSM.NearMap("NearMap"); - var stopbrowser = new OpenLayers.Layer.Vector("POI", { - projection: new OpenLayers.Projection("EPSG:4326"), - strategies: [ - new OpenLayers.Strategy.BBOX(), - ], - protocol: new OpenLayers.Protocol.HTTP({ + var stopbrowser = new OpenLayers.Layer.Vector("POI", { + projection: new OpenLayers.Projection("EPSG:4326"), + strategies: [ + new OpenLayers.Strategy.BBOX(), + ], + protocol: new OpenLayers.Protocol.HTTP({ url: "stopBrowser.kml.php", //Note that it is probably worth adding a Math.random() on the end of the URL to stop caching. - format: new OpenLayers.Format.KML({ - extractStyles: true, - extractAttributes: true + format: new OpenLayers.Format.KML({ + extractStyles: true, + extractAttributes: true }), - }) - }); + }) + }); - map.addLayers([osmtiles,stopbrowser,nearmap]); + map.addLayers([osmtiles,stopbrowser,nearmap]); - var lonLat = new OpenLayers.LonLat(149.11, -35.28).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); - map.setCenter(lonLat, 15); - map.addControl( new OpenLayers.Control.LayerSwitcher({'ascending':false})); - map.addControl(new OpenLayers.Control.MousePosition( - { - displayProjection: new OpenLayers.Projection("EPSG:4326"), - suffix: "__________________________________" - })); - map.addControl(new OpenLayers.Control.MousePosition( - { - displayProjection: new OpenLayers.Projection("EPSG:900913") - })); + var lonLat = new OpenLayers.LonLat(149.11, -35.28).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()); + map.setCenter(lonLat, 15); + map.addControl( new OpenLayers.Control.LayerSwitcher({'ascending':false})); + map.addControl(new OpenLayers.Control.MousePosition( + { + displayProjection: new OpenLayers.Projection("EPSG:4326"), + suffix: "__________________________________" + })); + map.addControl(new OpenLayers.Control.MousePosition( + { + displayProjection: new OpenLayers.Projection("EPSG:900913") + })); - select = new OpenLayers.Control.SelectFeature(stopbrowser); + select = new OpenLayers.Control.SelectFeature(stopbrowser); - stopbrowser.events.on({ - "featureselected": onFeatureSelect, - "featureunselected": onFeatureUnselect - }); + stopbrowser.events.on({ + "featureselected": onFeatureSelect, + "featureunselected": onFeatureUnselect + }); - map.addControl(select); - select.activate(); + map.addControl(select); + select.activate(); -} - function onPopupClose(evt) { - select.unselectAll(); - } - function onFeatureSelect(event) { - var feature = event.feature; - // Since KML is user-generated, do naive protection against - // Javascript. - var content = "<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description; - if (content.search("<script") != -1) { - content = "Content contained Javascript! Escaped content below.<br />" + content.replace(/</g, "<"); } - popup = new OpenLayers.Popup.FramedCloud("chicken", - feature.geometry.getBounds().getCenterLonLat(), - new OpenLayers.Size(100,100), - content, - null, true, onPopupClose); - feature.popup = popup; - map.addPopup(popup); - } - function onFeatureUnselect(event) { - var feature = event.feature; - if(feature.popup) { - map.removePopup(feature.popup); - feature.popup.destroy(); - delete feature.popup; + function onPopupClose(evt) { + select.unselectAll(); } - } - </script> + function onFeatureSelect(event) { + var feature = event.feature; + // Since KML is user-generated, do naive protection against + // Javascript. + var content = "<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description; + if (content.search("<script") != -1) { + content = "Content contained Javascript! Escaped content below.<br />" + content.replace(/</g, "<"); + } + popup = new OpenLayers.Popup.FramedCloud("chicken", + feature.geometry.getBounds().getCenterLonLat(), + new OpenLayers.Size(100,100), + content, + null, true, onPopupClose); + feature.popup = popup; + map.addPopup(popup); + } + function onFeatureUnselect(event) { + var feature = event.feature; + if(feature.popup) { + map.removePopup(feature.popup); + feature.popup.destroy(); + delete feature.popup; + } + } + </script> - </head> - <body onload="init()"> - <div id="map" width="100%" height="100%" class="smallmap"></div> - </body> + </head> + <body onload="init()"> + <div id="map" width="100%" height="100%" class="smallmap"></div> + </body> </html>