Dear All I found the problem by using JSLint, it works in IE7 after removing if (!OpenLayers.Event.isLeftClick(evt)) return;
All the best Xiaoyu On Tue, Aug 19, 2008 at 9:49 AM, Xiaoyu Guan <[EMAIL PROTECTED]> wrote: > Dear All: > I use Geoserver + Tilecache + Openlayers. I have a identifier which only > work on Firefox. but on IE7 , not sure about IE6. > > What I did, I have four Layers , two TileCache layers, two Geoserver > layers. I hide two geoserver layers in layerswitcher. People in the map > viewer only can get TileCache layers. I can use WMS getfeatureinfo from > Geoserver. the identifier is base on Geoserver. some poeple told me that IE > and Firefox is different when they reading an array. I have check my script > for many times. but still cannot figure it out. Is there anybody can help me > to figure it out? > > /* Copyright (c) 2006-2007 MetaCarta, Inc., published under the BSD > license. > * See http://svn.openlayers.org/trunk/openlayers/release-license.txt > * for the full text of the license. */ > > /** > * @requires OpenLayers/Control.js > * > * Class: OpenLayers.Control.FeatureInfo > * > * Inherits from: > * - <OpenLayers.Control> > */ > OpenLayers.Control.FeatureInfo = OpenLayers.Class(OpenLayers.Control, { > > requestURL: null, > > initialize: function(options) { > OpenLayers.Control.Panel.prototype.initialize.apply(this, > [options]); > }, > > destroy: function() { > > > this.map.events.unregister( 'click', this, this.getFeatureInfo ); > > OpenLayers.Control.prototype.destroy.apply(this, arguments); > > }, > > draw: function() { > OpenLayers.Control.prototype.draw.apply(this, arguments); > > return this.div; > }, > > activate: function() { > if (OpenLayers.Control.prototype.activate.apply(this, arguments)) { > this.map.events.register('click', this, this.getFeatureInfo); > > return true; > }else{ > return false; > } > }, > > deactivate: function() { > if (OpenLayers.Control.prototype.deactivate.apply(this, arguments)) > { > this.map.events.unregister( 'click', this, this.getFeatureInfo > ); > return true; > } else { > return false; > } > }, > > getFeatureInfo:function(evt){ > > if (!OpenLayers.Event.isLeftClick(evt)) return; > /* Here I removed two TileCache Layers from map.layers > Maybe the reason is I use slice > */ > var url = > this.map.layers.slice(2)[0].getFullRequestString( > { > REQUEST: "GetFeatureInfo", > EXCEPTIONS: "application/vnd.ogc.se_xml", > BBOX: > this.map.layers.slice(2)[0].map.getExtent().toBBOX(), > X: evt.xy.x, > Y: evt.xy.y, > > INFO_FORMAT: 'text/html', > QUERY_LAYERS: > this.map.layers.slice(2)[0].params.LAYERS, > FEATURE_COUNT: 50, > WIDTH: this.map.size.w, > HEIGHT: this.map.size.h > }, > > "http://127.0.0.1:2008/geoserver/wms" > ); > OpenLayers.loadURL(url, '', this, > function(response) { > > var lonlat = this.map.getLonLatFromViewPortPx(evt.xy); > > var popup = new OpenLayers.Popup.AnchoredBubble( > > " ",lonlat, null, response.responseText, null, true); > > this.map.addPopup(popup, true ); > }); > OpenLayers.Event.stop(evt); > }, > > CLASS_NAME: "OpenLayers.Control.FeatureInfo" > }); > > Here is some related information about my script > > http://www.nabble.com/TileCache-%2B-GetFeatureinfo(Geoserver1.6.4)--td18753089.html<http://www.nabble.com/TileCache-%2B-GetFeatureinfo%28Geoserver1.6.4%29--td18753089.html> > > All the best > > Xiaoyu > > -- > Xiaoyu Guan (Sam) > Geo-information Science > Wageningen UR > > -- Xiaoyu Guan (Sam) Geo-information Science Wageningen UR
_______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
