He estado usando map.setBaseLayer(layer);
a cambiar a mi preferido capa de mapa, utilizando el localStorage variable layer
que se almacena en mi navegador web, en la inicialización del mapa. Pero me doy cuenta de que esto es la creación de llamadas innecesarias para cargar los valores predeterminados (primera capa) mapa de las baldosas que yo no se necesita si el preferido de la capa es el segundo o el tercero. Hay una manera de que me puede pre-seleccionar la base de la capa de muestra (antes de mapa de inicialización), sin cambiar el orden de las capas de mapa?
Respuestas
¿Demasiados anuncios?
Athena
Puntos
2149
- Primero se deben definir las capas pero no añadirlos al mapa.
- Entonces el conjunto
map.baseLayer = your-layer
- luego agregar todas las capas de mapa.
OpenLayers añadir la primera capa en propiedad map.baseLayer pero llamadas sólo cuando añadir al mapa. Así que usted puede cambiar la capa antes de ser llamado.
Anthony Cramp
Puntos
126
Yo suelo utilizar la propiedad isBaseLayer para establecer la capa, como este:
var ol_wms = new OpenLayers.Layer.WMS.Untiled( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0?", {layers: 'basic'},
{ isBaseLayer: true} );
var map = new OpenLayers.Map('map');
map.addLayer(ol_wms);
map.setCenter(new OpenLayers.LonLat(0, 0), 0);
Para más información, vea este artículo: BaseLayers y recubrimientos