|
From: Edwin C. <com...@gm...> - 2010-11-29 10:56:23
|
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
>
>
|