Handle features without bounds.
Updates to tests to work with new wrap dateline code. Canvas renderer needs to handle geometries without bounds as well.
This commit is contained in:
@@ -166,7 +166,7 @@ OpenLayers.Renderer.Canvas = OpenLayers.Class(OpenLayers.Renderer, {
|
||||
worldBounds = this.map.getMaxExtent();
|
||||
}
|
||||
|
||||
var intersects = bounds.intersectsBounds(this.extent, {worldBounds: worldBounds});
|
||||
var intersects = bounds && bounds.intersectsBounds(this.extent, {worldBounds: worldBounds});
|
||||
|
||||
rendered = (style.display !== "none") && !!bounds && intersects;
|
||||
if (rendered) {
|
||||
|
||||
@@ -3,6 +3,24 @@
|
||||
<script src="../OLLoader.js"></script>
|
||||
<script type="text/javascript">
|
||||
var supported = OpenLayers.Renderer.Canvas.prototype.supported();
|
||||
|
||||
var map, layer;
|
||||
function setUp() {
|
||||
map = new OpenLayers.Map("map");
|
||||
layer = new OpenLayers.Layer.Vector(null, {
|
||||
isBaseLayer: true,
|
||||
renderers: ["Canvas"]
|
||||
});
|
||||
map.addLayer(layer);
|
||||
map.setCenter(new OpenLayers.LonLat(0, 0));
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
map.destroy();
|
||||
map = null;
|
||||
layer = null;
|
||||
}
|
||||
|
||||
function test_Renderer_Canvas_constructor(t) {
|
||||
if (!supported) { t.plan(0); return; }
|
||||
t.plan(2);
|
||||
@@ -18,16 +36,17 @@
|
||||
function test_Renderer_Canvas_setextent(t) {
|
||||
if (!supported) { t.plan(0); return; }
|
||||
t.plan(2);
|
||||
var el = document.body;
|
||||
el.id = "foo";
|
||||
var r = new OpenLayers.Renderer.Canvas(el.id);
|
||||
|
||||
setUp();
|
||||
|
||||
var r = layer.renderer;
|
||||
var extent = new OpenLayers.Bounds(1,2,3,4);
|
||||
r.resolution = 1;
|
||||
r.setExtent(extent, true);
|
||||
t.ok(r.extent.equals(extent), "extent is correctly set");
|
||||
t.eq(r.resolution, null, "resolution nullified");
|
||||
r.destroy();
|
||||
|
||||
tearDown();
|
||||
}
|
||||
|
||||
function test_Renderer_Canvas_setsize(t) {
|
||||
@@ -124,18 +143,8 @@
|
||||
}
|
||||
|
||||
t.plan(10);
|
||||
var layer = new OpenLayers.Layer.Vector(null, {
|
||||
isBaseLayer: true,
|
||||
renderers: ["Canvas"]
|
||||
});
|
||||
|
||||
var map = new OpenLayers.Map({
|
||||
div: "map",
|
||||
controls: [],
|
||||
layers: [layer],
|
||||
center: new OpenLayers.LonLat(0, 0),
|
||||
zoom: 0
|
||||
});
|
||||
setUp();
|
||||
|
||||
var renderer = layer.renderer;
|
||||
var count = 0;
|
||||
@@ -192,7 +201,7 @@
|
||||
t.eq(count, 1, "d) redraw is called when drawing a feature without bounds");
|
||||
renderer.clear();
|
||||
|
||||
map.destroy();
|
||||
tearDown();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user