OSM - IGN-CNIG/API-CNIG GitHub Wiki
La API-CNIG permite visualizar la capa de Open Street Map, para esto se tiene que pasar "OSM" como valor del parámetro "layers". Al hacerlo, se añadirá automáticamente al mapa un mensaje de atribución, tal como requiere legalmente su uso:
const map = M.map({
container: 'mapjs',
layers: ['OSM'],
});
Aunque se reproyecta automáticamente a cualquier otra proyección, se recomienda usar el sistema de referencia espacial EPSG:3857, usado por OSM.
Ejemplo cargando OSM:
// Se carga la capa en la creación del mapa.
const map = M.map({
container: 'mapjs',
layers: ['OSM'],
projection: "EPSG:3857*m"
});
Ejemplo cargando capa OSM como objeto:
const layer = new M.layer.OSM({
name: 'OSM',
legend: 'OSM',
transparent: true,
url: 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png',
});
mapjs.addLayers(layer);
Donde:
- name: Nombre de la capa en la leyenda.
- legend: Indica el nombre que queremos que aparezca en el árbol de contenidos, si lo hay.
- transparent: 'false' si es una capa base, 'true' en caso contrario. Parámetro obsoleto, se recomienda usar el parámetro isBase
- isBase: 'true' si se quiere definir la capa como capa base, 'false' en caso contrario.
- type: Tipo de la capa.
- url: Url genera la OSM.
- minZoom: Zoom mínimo aplicable a la capa.
- maxZoom: Zoom máximo aplicable a la capa.
- maxExtent: La medida en que restringe la visualización a una región específica.
- attribution: Atribución de la capa.
- name. Nombre de la atribución
- description. Descripción de la atribución.
- url. URL de la atribución.
- contentAttributions. Atribuciones por objetos geográficos, por defecto vacío.
- contentType. Tipo de url de “contentAttributions” (KML o GeoJSON).
- visibility: Define si la capa es visible o no.
- displayInLayerSwitcher: Define si la capa se mostrará en el selector de capas.
- opacity: Opacidad de capa, por defecto 1.
- options: Estas opciones se mandarán a la implementación de la capa.
- animated: Activa la animación para capas base o parámetros animados.
- vendorOptions: Opciones para la biblioteca base (el código se envía directamente a la librería base para ejecutar la funcionalidad).
Ejemplo vendorOptions:
new M.layer.OSM({}, {}, {
source: new ol.source.OSM({
url: 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png',
}),
});
Ejemplo completo de creación de capa OSM:
const layer = new M.layer.OSM({
name: 'OSM',
legend: 'OSM',
transparent: true,
url: 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'
displayInLayerSwitcher: false, // no muestra la capa en el TOC
},{
animated: true // activa animación
},{
opacity:0.5 // aplica opacidad a la capa
});
Ejemplos: