[Test] Printer 4 + Mapea 5
by Francisco
HTML
<script src="http://mapea4-sigc.juntadeandalucia.es/js/mapea.ol.min.js"></script>
<link rel="stylesheet" href="http://mapea4-sigc.juntadeandalucia.es/assets/css/mapea.ol.min.css">
<script src="http://mapea4-sigc.juntadeandalucia.es/js/configuration.js"></script>
<link rel="stylesheet" href="http://mapea4-sigc.juntadeandalucia.es/plugins/printer/printer-2.0.0.min.css">
<script src="http://mapea4-sigc.juntadeandalucia.es/plugins/printer/printer-2.0.0.ol.min.js"></script>
<div id="map"></div>
CSS
html,
body,
#map {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
}
JavaScript
// Puede configurarse otra instancia de Geoprint si se desea
// M.config.geoprint.URL="http://geoprint-sigc.juntadeandalucia.es/geoprint/pdf";
M.layer.WMS._updateNoCache = function(){
const tiledIdx = M.config.tileMappgins.tiledNames.indexOf(this.name);
if ((tiledIdx !== -1) && sameUrl(M.config.tileMappgins.tiledUrls[tiledIdx], this.url)) {
this._noCacheUrl = M.config.tileMappgins.urls[tiledIdx];
this._noCacheName = M.config.tileMappgins.names[tiledIdx];
}
}
const extendsObj = (destParam = {}, src = {}) => {
const dest = destParam;
if (!M.utils.isNullOrEmpty(src)) {
Object.keys(src).forEach((key) => {
let value = src[key];
if (M.utils.isArray(value)) {
value = [...value];
} else if (M.utils.isObject(value)) {
value = extendsObj({}, value);
}
if (M.utils.isNullOrEmpty(dest[key])) {
dest[key] = value;
} else if (M.utils.isObject(dest[key])) {
extendsObj(dest[key], value);
}
});
}
return dest;
};
if (!M.template.compileSync) { // JGL: retrocompatibilidad Mapea4
console.log('Definimos compileSync');
M.template.compileSync = (string, options) => {
let templateCompiled;
let templateVars = {};
let parseToHtml;
if (!M.utils.isUndefined(options)) {
templateVars = extendsObj(templateVars, options.vars);
parseToHtml = options.parseToHtml;
}
const templateFn = Handlebars.compile(string);
const htmlText = templateFn(templateVars);
if (parseToHtml !== false) {
templateCompiled = M.utils.stringToHtml(htmlText);
} else {
templateCompiled = htmlText;
}
return templateCompiled;
};
}
mapajs = M.map({
container: "map"
});
// Creacion plugin
mapajs.addPlugin(new M.plugin.Printer({
"params": {
"pages": {
"creditos": "Impresión generada a través de Mapea"
},
"layout": {
"outputFilename":...