From: Jon B. <jon...@go...> - 2010-11-29 14:28:57
|
Hi Edwin, You're right, I've added the proxy and now it works fine. Thanks for the help. Jon On 29 November 2010 10:56, Edwin Commandeur <com...@gm...>wrote: > Hi Jon, > > I think the essential line is: > Origin http://127.0.0.1:8888 is not allowed by Access-Control-Allow-Origin > > Are you setting the OpenLayers proxyHost to use the proxy servlet from > GWT-OL server? The example in the showcase application should be > working and shows how to set the proxyHost. > > What I don't get is that the request is sent to the server, because I > would expect the browser to not send any cross-domain requests if > these are not allowed from the application. > > Greetings, > Edwin > > > On 29 November 2010 10:54, Jon Britton <jon...@go...> wrote: > > Sorry if I wasn't clear in my previous email, but the server is actually > > receiving and dealing with the request. I've tried another remote server > > and I get the same problem. I've debugged the website with Chrome, and > it > > just hangs when making the request - it says "pending" under Status. > > However, the Chrome debugging console shows the following errors: > > XMLHttpRequest cannot load > > > http://localhost:8080/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=topp%3Atasmania_state_boundaries&QUERY_LAYERS=topp%3Atasmania_state_boundaries&STYLES=&BBOX=140.328735%2C-44.906872%2C151.98523%2C-38.315075&FEATURE_COUNT=10&HEIGHT=600&WIDTH=1061&FORMAT=image%2Fpng&INFO_FORMAT=text%2Fhtml&SRS=EPSG%3A4326&X=592&Y=322 > . > > Origin http://127.0.0.1:8888 is not allowed by > Access-Control-Allow-Origin. > > > > Uncaught java.lang.IllegalArgumentException: Something other than a Java > > object was returned from JSNI method > > > '@org.gwtopenmaps.openlayers.client.util.JSObjectHelper::getProperty(Lorg/gwtopenmaps/openlayers/client/util/JSObject;Ljava/lang/String;)': > > JS value of type int, expected java.lang.Object > > > > wmsFailed to load resource > > Following the link loads the correct result. > > Jon > > On 29 November 2010 08:42, Lukas Johansson <luk...@de...> > > wrote: > >> > >> Have you checked with firebug if any request are actually sent? Probably > >> they aren’t as you get a JS error and you don’t see anything in the log > at > >> the server. > >> > >> By just “dry reading” your code I don’t see anything that pops out. > >> > >> You do get a “String cannot be cast to JSObject” exception and the only > >> row I can guess cases this is: > >> > >> options.setLayers(getWMSMapLayers().toArray(new WMS[0])); > >> > >> > >> > >> What does getWMSMapLayers() return? Which toArray method is called?.... > >> > >> /Lukas > >> > >> > >> > >> > >> > >> Från: man...@go... > >> [mailto:man...@go...] För Jon Britton > >> > >> Skickat: den 26 november 2010 18:49 > >> Till: Lukas Johansson > >> Kopia: gwt-openlayers-users > >> Ämne: Re: [Gwt-openlayers-users] MapClickListener support > >> > >> > >> > >> Hi Lukas, > >> > >> > >> > >> I've added a WMSGetFeatureInfo control to my map, but when I make a > >> request (by clicking on the map) the map freezes. I've checked by WMS > >> server logs and it did receive a GetFeatureInfo request and seems to > have > >> returned a result. > >> > >> > >> > >> I was originally testing in Google Chrome, but I tried Firefox and get > the > >> same problem - however I also get a JavaScript exception: > >> > >> > >> > >> Uncaught JavaScript exception [uncaught exception: > >> java.lang.ClassCastException: java.lang.String cannot be cast to > >> org.gwtopenmaps.openlayers.client.util.JSObject] in , line 0 > >> > >> > >> > >> Any idea what could be causing this? My code is shown below. > >> > >> > >> > >> Thanks, > >> > >> > >> > >> Jon > >> > >> > >> > >> public void resetWMSSelectControl() { > >> > >> if (wmsSelectControl != null) > >> > >> > >> SmartWPS.getSmartWPS().getMap().removeControl(wmsSelectControl); > >> > >> WMSGetFeatureInfoOptions options = new > >> WMSGetFeatureInfoOptions(); > >> > >> options.setLayers(getWMSMapLayers().toArray(new > >> WMS[0])); > >> > >> options.setDrillDown(true); > >> > >> options.setQueryVisible(true); > >> > >> options.setInfoFormat("application/vnd.ogc.gml"); > >> > >> > >> > >> wmsSelectControl = new WMSGetFeatureInfo(options); > >> > >> wmsSelectControl.addGetFeatureListener(new > >> GetFeatureInfoListener() { > >> > >> > >> > >> @Override > >> > >> public void > onGetFeatureInfo( > >> > >> > >> > >> > org.gwtopenmaps.openlayers.client.event.GetFeatureInfoListener.GetFeatureInfoEvent > >> eventObject) { > >> > >> > >> VectorFeature[] features = eventObject.getFeatures(); > >> > >> > >> System.out.println("FeatureInfo: " + eventObject.getText()); > >> > >> } > >> > >> }); > >> > >> > >> > >> > >> SmartWPS.getSmartWPS().getMap().addControl(wmsSelectControl); > >> > >> wmsSelectControl.activate(); > >> > >> } > >> > >> > >> > >> On 24 November 2010 16:01, Lukas Johansson <luk...@de...> > >> wrote: > >> > >> I’ve commited a version that make the control a more complete and which > >> uses the drilldown parameter introduced in OL 2.9[1] which can be used > to > >> access multiple servers. > >> > >> In october we realized that my patch hadn’t been commited so this was > >> taken care of, however I do not think that its in the current stable > build. > >> Instead you need to checkout your own version. > >> > >> > >> > >> [1] > >> > http://dev.openlayers.org/releases/OpenLayers-2.9.1/doc/apidocs/files/OpenLayers/Control/WMSGetFeatureInfo-js.html#OpenLayers.Control.WMSGetFeatureInfo.drillDown > >> > >> > >> > >> You add the controller to the map, if you do not use drilldown only to > top > >> layer is queried. Most settings are set in WmsGetFeatureInfoOptions and > not > >> on the control itself. > >> > >> > >> > >> Usage is something along this path (copied from our working code, but > you > >> get the idea): > >> > >> WMSGetFeatureInfoOptions options = new WMSGetFeatureInfoOptions(); > >> > >> options.setLayers(arrayOfLayersToQuery)); > >> //allows you to tell what layers that > should > >> be queried > >> > >> options.setDrillDown(true); > >> > >> options.setQueryVisible(true); > >> > >> options.setInfoFormat("application/vnd.ogc.gml"); > >> //return result as gml > >> > >> > >> > >> > >> > >> > >> > >> wmsSelectControl = new WMSGetFeatureInfo(options); > >> > >> wmsSelectControl.addGetFeatureListener(new > >> GetFeatureInfoListener(){ > >> > >> public void onGetFeatureInfo(GetFeatureInfoEvent eventObject) { > >> > >> VectorFeature[] features = eventObject.getFeatures(); > >> > >> > >> String html = "foo"; > >> > >> FrameCloud popup = new FramedCloud("MapFeaturePopup", > >> features[0].getCenterLonLat(), new Size(300, 400), html); > >> > >> } > >> > >> } > >> > >> map.addControl(wmsSelectControl); > >> > >> > >> > >> /Lukas > >> > >> > >> > >> Från: man...@go... > >> [mailto:man...@go...] För Jon Britton > >> Skickat: den 24 november 2010 16:42 > >> Till: Lukas Johansson > >> Kopia: gwt-openlayers-users > >> Ämne: Re: [Gwt-openlayers-users] MapClickListener support > >> > >> > >> > >> Hi Lukas, > >> > >> > >> > >> You haven't misunderstood, I wasn't aware there was a map control for > >> this. My client application is for displaying many WMS layers, possibly > >> from different servers. The user can add/remove WMS layers as they see > fit > >> by using their own WMS URLs. What I want to do is display the feature > info > >> for every layer currently visible on my map, but I'm struggling to > figure > >> out how WMSGetFeatureInfo can be used for this as each control > corresponds > >> to only one WMS URL. Would I need to make a new control for each map > layer? > >> > >> > >> > >> Another problem is that the GWT-Openlayers WMGetFeatureInfo control > seems > >> to be incomplete as I can't access many of it's properties directly > (such as > >> url, title, layers...). > >> > >> > >> > >> Thanks, > >> > >> > >> > >> Jon > >> > >> > >> > >> On 24 November 2010 15:37, Lukas Johansson <luk...@de...> > >> wrote: > >> > >> You want the x/y of the mouseclick in order to construct a > >> WMSGetFeautureInfo? Why not use the existing WMSGetFeatureInfo control > to > >> begin with? This will handle the events, the request to the server and > you > >> can get it to produce a parsable result in GML from witch you can create > >> features. > >> > >> > >> > >> Or have I misunderstood your usecase? > >> > >> /Lukas > >> > >> > >> > >> > >> > >> Från: Jon Britton [mailto:jon...@go...] > >> Skickat: den 24 november 2010 15:20 > >> Till: gwt-openlayers-users > >> Ämne: [Gwt-openlayers-users] MapClickListener support > >> > >> > >> > >> Hi > >> > >> > >> > >> I'm trying to register a MapClickListener so that I can generate a > >> GetFeatureInfo request using the mouse x and y coordinates. Here is > what > >> I've got so far: > >> > >> > >> > >> mw.getMap().getListeners().add(new MapClickListener() { > >> > >> @Override > >> > >> public void onClick(MapClickEvent e) { > >> > >> SC.say("Map click at " + e.getLonLat()); > >> > >> } > >> > >> }); > >> > >> > >> > >> However, getListeners() isn't supported as far as I can tell (I get an > >> UnsupportedOperationException on the first line above). Are there any > plans > >> to implement this soon? Alternatively, is there any other way to access > the > >> map coordinates of the mouse cursor? > >> > >> > >> > >> Thanks, > >> > >> > >> > >> Jon > >> > >> > >> > ------------------------------------------------------------------------------ > >> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > >> Tap into the largest installed PC base & get more eyes on your game by > >> optimizing for Intel(R) Graphics Technology. Get started today with the > >> Intel(R) Software Partner Program. Five $500 cash prizes are up for > grabs. > >> http://p.sf.net/sfu/intelisp-dev2dev > >> _______________________________________________ > >> Gwt-openlayers-users mailing list > >> Gwt...@li... > >> https://lists.sourceforge.net/lists/listinfo/gwt-openlayers-users > >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ > >> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > >> Tap into the largest installed PC base & get more eyes on your game by > >> optimizing for Intel(R) Graphics Technology. Get started today with the > >> Intel(R) Software Partner Program. Five $500 cash prizes are up for > grabs. > >> http://p.sf.net/sfu/intelisp-dev2dev > >> _______________________________________________ > >> Gwt-openlayers-users mailing list > >> Gwt...@li... > >> https://lists.sourceforge.net/lists/listinfo/gwt-openlayers-users > >> > >> > >> > >> > >> > ------------------------------------------------------------------------------ > >> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > >> Tap into the largest installed PC base & get more eyes on your game by > >> optimizing for Intel(R) Graphics Technology. Get started today with the > >> Intel(R) Software Partner Program. Five $500 cash prizes are up for > grabs. > >> http://p.sf.net/sfu/intelisp-dev2dev > >> _______________________________________________ > >> Gwt-openlayers-users mailing list > >> Gwt...@li... > >> https://lists.sourceforge.net/lists/listinfo/gwt-openlayers-users > >> > > > > > > > ------------------------------------------------------------------------------ > > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > > Tap into the largest installed PC base & get more eyes on your game by > > optimizing for Intel(R) Graphics Technology. Get started today with the > > Intel(R) Software Partner Program. Five $500 cash prizes are up for > grabs. > > http://p.sf.net/sfu/intelisp-dev2dev > > _______________________________________________ > > Gwt-openlayers-users mailing list > > Gwt...@li... > > https://lists.sourceforge.net/lists/listinfo/gwt-openlayers-users > > > > > > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! > Tap into the largest installed PC base & get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > Gwt-openlayers-users mailing list > Gwt...@li... > https://lists.sourceforge.net/lists/listinfo/gwt-openlayers-users > |