Fix map in IE by deferring Vector layer addition to page load (note that deferred script running is _not_ the same as onload), also only add the Vector layer as required, so to save some overhead.
I've trimmed down the unrequired options on the layer, they're defaulted from the map. Thanks firefishy for the report.
This commit is contained in:
parent
8f8de8deaa
commit
c29c7cd56c
2 changed files with 9 additions and 11 deletions
|
@ -75,16 +75,6 @@ function createMap(divName, options) {
|
|||
|
||||
var numZoomLevels = Math.max(mapnik.numZoomLevels, osmarender.numZoomLevels);
|
||||
|
||||
vectors = new OpenLayers.Layer.Vector("Vectors", {
|
||||
displayInLayerSwitcher: false,
|
||||
numZoomLevels: numZoomLevels,
|
||||
maxExtent: new OpenLayers.Bounds(-20037508,-20037508,20037508,20037508),
|
||||
maxResolution: 156543,
|
||||
units: "m",
|
||||
projection: "EPSG:900913"
|
||||
});
|
||||
map.addLayer(vectors);
|
||||
|
||||
markers = new OpenLayers.Layer.Markers("Markers", {
|
||||
displayInLayerSwitcher: false,
|
||||
numZoomLevels: numZoomLevels,
|
||||
|
@ -119,6 +109,13 @@ function addMarkerToMap(position, icon, description) {
|
|||
}
|
||||
|
||||
function addBoxToMap(boxbounds) {
|
||||
if(!vectors) {
|
||||
// Be aware that IE requires Vector layers be initialised on page load, and not under deferred script conditions
|
||||
vectors = new OpenLayers.Layer.Vector("Box Layer", {
|
||||
displayInLayerSwitcher: false
|
||||
});
|
||||
map.addLayer(vectors);
|
||||
}
|
||||
var geometry = boxbounds.toGeometry().transform(epsg4326, map.getProjectionObject());
|
||||
var box = new OpenLayers.Feature.Vector(geometry, {}, {
|
||||
strokeWidth: 2,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue