[OpenLayers-Users] Identifier working on Firefox, not IE7?
Xiaoyu Guan
guanxiaoyu at gmail.com
Tue Aug 19 10:20:25 EDT 2008
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 <guanxiaoyu at gmail.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20080819/19221392/attachment.html
More information about the Users
mailing list