[OpenLayers-Users] Google background layers offset with overlay layers
Dara Olson
dolson at glifwc.org
Fri Jan 4 10:25:24 PST 2013
Greetings.
We have an Open Layer map that uses Google background layers. We overlay
other WMS and a text file with points and when the map is loaded Google
Maps seems to be slightly off to the east. When you turn on Google
Satellite layer then the map bounces back into the correct location lining
up with the overlay layers correctly. You can turn Google Streets back on
and it lines up correctly. This application was working correctly without
the offset up until around 2-3 months ago (October-November) when this
started happening. Any suggestions on why this may be happening? Below is
the map.js and a link to the website.
http://maps.glifwc.org/manoomin.harvest.info/
var map;
function init(){
// Define Map Controls
var options = {
maxExtent: new OpenLayers.Bounds(-20037508.34,
-20037508.34, 20037508.34, 20037508.34),
controls: [new OpenLayers.Control.Navigation(), new
OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.LayerSwitcher()]
};
map = new OpenLayers.Map('map', options);
//map = new OpenLayers.Map('map');
// Define Base Layers
var gmap = new OpenLayers.Layer.Google(
"Google Streets", // the default
{numZoomLevels: 20}
);
var gsat = new OpenLayers.Layer.Google(
"Google Satellite",
{type: google.maps.MapTypeId.SATELLITE, numZoomLevels:
22}
);
var ghyb = new OpenLayers.Layer.Google(
"Google Hybrid",
{type: google.maps.MapTypeId.HYBRID, numZoomLevels: 20}
);
var gphy = new OpenLayers.Layer.Google(
"Google Physical",
{type: google.maps.MapTypeId.TERRAIN}
);
// Define Overlay Layers
var layer = new OpenLayers.Layer.Vector("Date-regulated
Manoomin Lakes", {
strategies: [new OpenLayers.Strategy.BBOX({resFactor:
1.1})],
protocol: new OpenLayers.Protocol.HTTP({
url: "points/points.txt",
format: new OpenLayers.Format.Text()
})
});
//Projection = WGS84 (4326)
var manoomin = new OpenLayers.Layer.WMS("All Manoomin
Waters",
"http://maps.glifwc.org/glifwc_wms.php?",
{'layers':
'manoomin_waterbodies,manoomin_lines,manoomin_points', transparent: true,
format: 'image/gif'},
{isBaseLayer: false, visibility: true}
);
//Projection = WGS84 (4326)
// Add Layers To Map
map.addLayers([gmap, gsat, ghyb, gphy, layer, manoomin]);
//map.zoomToMaxExtent();
//Set Initial Extent
map.setCenter(new OpenLayers.LonLat(-90, 45.5).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
), 6);
//****** Select And Display Feature Info ******//
// Interaction; not needed for initial display.
selectControl = new OpenLayers.Control.SelectFeature(layer);
map.addControl(selectControl);
selectControl.activate();
layer.events.on({
'featureselected': onFeatureSelect,
'featureunselected': onFeatureUnselect
});
}
// Needed only for interaction, not for the display.
function onPopupClose(evt) {
// 'this' is the popup.
var feature = this.feature;
if (feature.layer) { // The feature is not destroyed
selectControl.unselect(feature);
} else { // After "moveend" or "refresh" events on POIs
layer all
// features have been destroyed by the
Strategy.BBOX
this.destroy();
}
}
function onFeatureSelect(evt) {
feature = evt.feature;
popup = new OpenLayers.Popup.FramedCloud("featurePopup",
feature.geometry.getBounds().getCenterLonLat(),
new OpenLayers.Size(100,100),
"<h2>"+feature.attributes.title +
"</h2>" +
feature.attributes.description,
null, true, onPopupClose);
feature.popup = popup;
popup.feature = feature;
map.addPopup(popup, true);
}
function onFeatureUnselect(evt) {
feature = evt.feature;
if (feature.popup) {
popup.feature = null;
map.removePopup(feature.popup);
feature.popup.destroy();
feature.popup = null;
}
}
Any help would be greatly appreciated.
Dara
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/openlayers-users/attachments/20130104/41a56e64/attachment.html>
More information about the Users
mailing list