See demonstration of the bug here: http://jsfiddle.net/3ECSb/4/

I have seen and solved similar problems before with OpenLayers but the usual "three world" concept isn't fixing it this time so I'm putting this out there in case the slight differences can help someone identify the problem.

I have a bunch of points I am adding to my vector layer.

var point = new OpenLayers.Geometry.Point(result['longitude'], result['latitude']);
point.transform(map.displayProjection, map.getProjectionObject());

var feature = new OpenLayers.Feature.Vector(

The map is centered on New Zealand and the points appear. I zoom in one step and they are gone. Then I pan the map so NZ is almost off the map on the right (the important part is the antimeridian is gone) and the points reappear. If I click and drag the map around the points stay on the screen. However if I release the mouse when the antimerdian is still to the right of center the points disappear. I can then center the map on the Chatham Islands (-176 Longitude) and the points reappear and will stay on screen even if I go back to the previous position when they were not visible.

So to clarify. If I am centered at 179 latitude the points are only visible if I was previously centered at a negative latitude since the last time the antimeridian was brought on to screen from the right.

I have sphericalMercator and wrapDateLine set on every layer, I'm using Google layers as my basemaps, I have tried adding copies of the points at +/- 360 from their original places. But nothing has worked.

  • The problem appears to be a regression that appeared between 2.10 and 2.12. Tough they partly solved the 180° problem it seems to have just moved sideways a bit. I'm working on a jsfiddle to demonstrate it
    – Craig
    Commented Nov 26, 2012 at 9:55
  • Filed as a bug github.com/openlayers/openlayers/issues/771 still looking for a solution
    – Craig
    Commented Nov 26, 2012 at 10:43
  • @ ahocevar : it works nicely for me (after a few hours of pain)
    – Costea
    Commented Dec 11, 2013 at 13:03

2 Answers 2



It is a known issue with a known workaround: in your vector layer's options, configure

renderers: ['Canvas', 'VML']

The reason is that the SVG renderer, which is used by default in Chrome and Firefox, has a limited coordinate range.

Source ahocevar comment

Updated Working JSFIDDLE

  • @Craig: Did this resolve your problem?
    – CaptDragon
    Commented Nov 28, 2012 at 14:27

Another workaround, if the Canvas renderer isn't an option (like for us, where we added some additional SVG to our app), is to increase the domain that SVG can support. Older SVG renderers were known to have a limited coordinate range1, which is where this becomes a problem.

The workaround we ended up using was to change the max value that SVG natively supports. This can be done with a command such as:

OpenLayers.Renderer.SVG.prototype.MAX_PIXEL = Number.MAX_VALUE;

Of course, your mileage may vary with a solution2 like this, but it worked in the testing that we did for our app (and seems compatible with MODERN browsers3, and may just be an artifact of OpenLayers trying to maintain a huge amount of compatibility).

Edit: Adding Fiddle
Demonstration Fiddle

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.