welcome to that little circle of hell reserved for those who work with maps on the dateline. The only way things get work is when your map also includes north or south pole. Chances are this is just the beginning of your fun.

Firstly, just check the diagnosis of the problem. use the NET tab in the debugger (firebug or chrome) to inspect the call being actually made to the server. Chances are the coordinates for the one on the wrong side of the dateline are positive no.s larger than maxExtent, instead of negative.

I cant remember precisely what the wrapDateline:true does in the constructor for map and layers, but you might try it.
This little function is also a great help:
function wrapDateline(geom,extent) {
    for (var i=0, len=geom.components.length; i<len; i++) {
        var component = geom.components[i];
        for (var j=0, lenj=component.components.length; j<lenj; j++) {
            var pt = component.components[j];
            while (pt.x < extent.left) {
                pt.x +=  extent.getWidth();
            }

            //shift left?
            while (pt.x > extent.right) {
                pt.x -= extent.getWidth();
            }
        }

    }
    geom.bounds = null;
    return geom;
}

However, if you want to make polygon selects across the dateline, then geoserver wont handle it one hit - you have to intercept and break the selection into an OR filter for the geometry on both side. it just goes on and on.

We have started using a completely different pattern. Firstly, the URL for servers is changed instead to a proxy servlet. The basic interaction is:
GET or POST request goes to proxy.
  preprocessing by proxy
  send onto server
 postprocess response from server
send response back to user.

The whitelist proxy that you are using for WFS is model to start from, but you probably want to change to a jsp so can use java rather than python or whatever.

Numerous advantages. Proxy hides your server and you can inspect every interaction with it. You can process problems like the dateline - fix coordinates so inside maxentent; split search polygons (all the power of JTS if you want it). "Join" tables from desparate servers (eg a public one and an internal one) to create virtual views etc, support SRSs that supported on native public servers.

Finally, there is bug in 2.13.1 vector layer on dateline which make selections of groups of feature around the dateline behave oddly when dateline is moved from one side of screen centre to the other. Currently have patch for one-half of the problem underway. We will post a full patch when we have it tested. I think there are others in our patched set for 180 lines that arent in OL (eg you might check measuring area of polygon that crosses line) mostly because I havent figured out how to do pull request with GIT. (and extremely complicated maintaining OL version locally with SVN while master is on GIT).

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.

_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to