hi all, can someone help me solve this problem? my layer switcher and hover handler won't work, I don't know why. Below is my code:
<html xmlns="http://www.9media.co.nr"> <head> <title>Minahasa Utara</title> <link rel="stylesheet" href=" http://localhost/openlayers/theme/default/style.css" type="text/css" /> <link rel="stylesheet" href="style.css" type="text/css" /> <style type="text/css"> #map { width: 100%; height: 100%; border: 1px solid black; } #controlToggle li { list-style: none; } textarea.output { text-align: left; font-size: 12em; overflow: auto; } </style> <script src="http://localhost/openlayers/lib/Firebug/firebug.js "></script> <script src="http://localhost/openlayers/lib/OpenLayers.js"></script> <script defer="defer" script type="text/javascript"> //Hover OpenLayers.Control.Hover = OpenLayers.Class(OpenLayers.Control, { defaultHandlerOptions: { 'delay': 400, 'pixelTolerance': null, 'stopMove': false }, initialize: function(options) { this.handlerOptions = OpenLayers.Util.extend( {}, this.defaultHandlerOptions ); OpenLayers.Control.prototype.initialize.apply( this, arguments ); this.handler = new OpenLayers.Handler.Hover( this, {'pause': this.onPause, 'move': this.onMove}, this.handlerOptions ); }, onPause: function(evt) { var output = document.getElementById(this.key + 'Output'); var msg = 'pause ' + evt.xy; output.value = output.value + msg + "\r\n"; }, }); //Map //var lon = 5; //var lat = 5; //var zoom = 5; var map, controls, drawControls, layer_desa, layer_jalan, layer_atm, layer_bank, layer_polisi, layer_rs, layer_term, layer_uni, layer_ow, layer_htl; function init(){ var options = { projection: "EPSG:4326", units: "m", maxResolution: 156543.0339, maxExtent: new OpenLayers.Bounds(659950, 140743, 776058, 210476) }; map = new OpenLayers.Map('map', options); layer_desa = new OpenLayers.Layer.WMS( "Desa", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'desa', transparent: "false", format: "image/png"}, {singleTile: true}, {isBaseLayer: true}); layer_jalan = new OpenLayers.Layer.WMS( "Jalan", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'jalan', transparent: "true", format: "image/png"}, {singleTile: true}); layer_atm = new OpenLayers.Layer.WMS( "ATM", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'atm', transparent: "true", format: "image/png"}, {singleTile: true}); layer_bank = new OpenLayers.Layer.WMS( "Bank", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'bank', transparent: "true", format: "image/png"}, {singleTile: true}); layer_polisi = new OpenLayers.Layer.WMS( "Polisi", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'polisi', transparent: "true", format: "image/png"}, {singleTile: true}); layer_rs = new OpenLayers.Layer.WMS( "Rumah Sakit", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'rumah sakit', transparent: "true", format: "image/png"}, {singleTile: true}); layer_term = new OpenLayers.Layer.WMS( "Terminal", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'terminal', transparent: "true", format: "image/png"}, {singleTile: true}); layer_uni = new OpenLayers.Layer.WMS( "Universitas", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'universitas', transparent: "true", format: "image/png"}, {singleTile: true}); layer_ow = new OpenLayers.Layer.WMS( "Objek Wisata", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'objek wisata', transparent: "true", format: "image/png"}, {singleTile: true}); layer_htl = new OpenLayers.Layer.WMS( "Hotel", " http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/Skripsi/coba.map", {layers: 'hotel', transparent: "true", format: "image/png"}, {singleTile: true}); map.addLayer(layer_desa); map.addLayer(layer_jalan); map.addLayer(layer_atm); map.addLayer(layer_bank); map.addLayer(layer_polisi); map.addLayer(layer_rs); map.addLayer(layer_term); map.addLayer(layer_uni); map.addLayer(layer_ow); map.addLayer(layer_htl); controls = { 'short': new OpenLayers.Control.Hover({ handlerOptions: { 'delay': 100 } }), }; var props = document.getElementById("props"); var control; for(var key in controls) { control = controls[key]; control.key = key; map.addControl(control); } // map controls map.addControl(new OpenLayers.Control.MousePosition()); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.addControl(new OpenLayers.Control.ScaleLine()); map.addControl(new OpenLayers.Control.PanZoomBar()); map.setCenter(new OpenLayers.LonLat(0, 0), 0); map.zoomToMaxExtent(); //get layer details on click map.events.register('click', map, function (e) { OpenLayers.Util.getElement('nodeList').innerHTML = "Detail: Loading..."; var url = layer_desa.getFullRequestString({ REQUEST: "GetFeatureInfo", EXCEPTIONS: "application/vnd.ogc.se_xml", BBOX: layer_desa.map.getExtent().toBBOX(), X: e.xy.x, Y: e.xy.y, INFO_FORMAT: 'text/html', QUERY_LAYERS: layer_desa.params.LAYERS, WIDTH: layer_desa.map.size.w, HEIGHT: layer_desa.map.size.h}); OpenLayers.loadURL(url, '', this, setHTML); OpenLayers.Event.stop(e); }); drawControls = { selecthover: new OpenLayers.Control.SelectFeature( layer_desa, { multiple: false, hover: true, toggleKey: "ctrlKey", multipleKey: "shiftKey" } ) }; } function toggle(key) { var control = controls[key]; if(control.active) { control.deactivate(); } else { control.activate(); } var status = document.getElementById(key + "Status"); status.innerHTML = control.active ? "on" : "off"; var output = document.getElementById(key + "Output"); output.value = "on"; } function setHTML(response) { OpenLayers.Util.getElement('nodeList').innerHTML = response.responseText; } </script> </head> <body onload="init()"> <div id="map" class="smallmap"></div> <div id="nodeList">Detail: </div> </body> </html>
_______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
