[Spanish] OpenLayers

Rafael Fernández Mejías rafael.mejias at sinfogeo.com
Wed Feb 29 10:08:40 EST 2012


Buenas tardes, estoy intentando visualizar 4 capas con Openlayers.  Tres son
de OSM (Mapnik, Osmarender y CycleMap) y la otra, unos polígonos que tengo
publicados en Geoserver. Si las visualizo por separado, no hay problema  y
se ven perfectamente. Pero si las junto en el mismo 'LayerSwitcher', la capa
de polígonos que yo he generado con Geoserver no se ve.
He comprobado el sistema de coordenadas y están en 4326. Creo que hago la
transformación bien, por eso pienso que tiene que ser otra cosa, pero no sé
que puede estar pasando. Os dejo el código por si me podéis ayudar.

<!DOCTYPE html>
<html>
<head>
<title>Visualizar 4 capas</title>
  <!-- Hoja de estilo del programa -->
  <style type="text/css">
    #basicMap {
	clear: both;
    position: relative;
    width: 512px;
    height: 348px;
    border: 1px solid black;
  }
</style>
<!--  Cargar la librería OpenLayers -->
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<!-- Cargar las clases OpenLayers.Layer.OSM.Mapnik,
         OpenLayers.Layer.Osmarender y OpenLayers.Layer.OSM.CycleMap -->
<script src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>

<!-- Script del programa -->
<script type="text/javascript">
  var map;
  function init() {
     map = new OpenLayers.Map("basicMap");
     map.addControl( new OpenLayers.Control.LayerSwitcher);

     var layMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
     map.addLayer(layMapnik);

     var layOsmarender = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
     map.addLayer(layOsmarender);

     var layCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
     map.addLayer(layCycleMap);
	 
	 var miLayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
		"http://localhost:8080/geoserver/usa/wms", {layers:
'usa:states'} );
	 map.addLayer(miLayer);

	var center = new OpenLayers.LonLat(-101.30, 37.99);
    var centerOSM = center.transform(
	new OpenLayers.Projection("EPSG:4326"),
	new OpenLayers.Projection("EPSG:900913")
     );

     map.setCenter(centerOSM, 4);
     map.setBaseLayer(miLayer);
	 
}
</script>
</head>
<body onload="init()">
    <div id="basicMap"></div>
</body>
</html>

Muchas gracias,
Rafael



More information about the Spanish mailing list