Есть два слоя один WGS84, другой Mercator. Нужно чтобы они выводились на одной карте при помощи Openlayers.
Как это сделано мной сейчас:
Код: Выделить всё
function init(){
graticuleCtl = new OpenLayers.Control.Graticule({
labelled: true,
targetSize: 700
});
var bounds = new OpenLayers.Bounds(62.2289530630876442, 49.9969740071353286, 120.0024212413648002, 59.9999999949999889);
var map = new OpenLayers.Map('mapdiv',{
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.LayerSwitcher({'ascending':false}),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.OverviewMap(),
new OpenLayers.Control.KeyboardDefaults(),
new OpenLayers.Control.Graticule (),
],
scales: [4000000, 1000000, 100000, 10000, 1000],
numZoomLevels: 6
},
{
units: 'degrees',
projection: new OpenLayers.Projection('WGS84'),
});
altai = new OpenLayers.Layer.MapServer( "Altai krai",
"http://localhost/cgi-bin/mapserv?map=/home/diver/geoserver/maps/map.map&layer=altay&layer=altay-city&mode=map", {layers: 'basic'},
{ layers: 'image',
format: 'png24',
isBaseLayer: true,
visibility: false});
// create OAM layer
var oam = new OpenLayers.Layer.OSM(
"Express Base",
"http://maps.kosmosnimki.ru/TileService.ashx?Request=gettile&layerName=04C9E7CE82C34172910ACDBF8F1DF49A&apikey=L5VW1QBBHJ&z=${z}&x=${x}&y=${y}",
{
sphericalMercator: true,
projection: new OpenLayers.Projection('WGS84')
}
);
map.addLayers([altai, oam]);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
map.zoomToExtent(new OpenLayers.Bounds(59.2289530630876442, 48.9969740071353286, 107.0024212413648002, 53.9999999949999889));
if (!map.getCenter()) map.zoomToMaxExtent();
}
Заранее большое спасибо!