#1 Wed 11 May 2011 15:27
- lafeelilie
- Juste Inscrit !
- Lieu: Nantes
- Date d'inscription: 11 May 2011
- Messages: 5
- Site web
Mapfish légende choropleth et proportionnal symbol
Bonjour à tous,
Je réalise une interface web basée sur Mapfish et plus particulièrement sur les widgets choropleth et proportionnal symbol.
J'ai un gros souci pour afficher la légende.
En effet je veux passer par le viewport (le code fonctionne lorsque j'utilise une simple div) et je n'y parviens pas.
Voici mon code :
Pour le widget :
var choropleth = new mapfish.widgets.geostat.Choropleth({
map: carte,
layer: choroplethLayer,
title: 'Chloroplèthe',
nameAttribute: 'NOM_ZONE',
indicators:[
<%
for (int i = 0; i < codind.length; i++) {
out.println("['" + codind[i] + "_" + datefin[i].replace("-", "_") + "','" + titre[i] + "']");
/*
if (i != codind.length - 1) {
out.println(",");
}
*/
}
%>
],
url:"preview",
legendDiv : 'myChoroplethLegendDiv',
featureSelection: false,
loadMask : {msg: 'Chargement...', msgCls: 'x-mask-loading'},
defaults: {
width: 130
},
listeners: {
collapse: {
// hide layer if collapsed
fn: function() {
this.layer.setVisibility(false);
}
},
expand: {
// show layer if expanded
fn: function() {
if (this.classificationApplied) {
this.layer.setVisibility(true);
}
}
}
}
});
choroplethLayer.events.on({
'featureselected': showDetails,
'featureunselected': hideDetails,
'scope': choropleth
});
Et pour le viewport:
var viewport = new Ext.Viewport({
layout: "border",
items:[
new Ext.BoxComponent({ // raw
region: 'north',
el: 'north',
height: 140
}),{
region: 'east',
title: 'Analyse thématique ',
collapsed: true,
split: true,
collapsible: true,
width: 250,
minSize: 175,
maxSize: 500,
margins: '0 0 0 5',
layout: 'accordion',
defaults: {
border: true,
frame: true
},
items: [
choropleth,
propSymbol,
legendsetPanel,
]
},
legendPanel
, {
region: "center",
id: "map",
title: "Carte",
layout: "fit",
split: true,
xtype: 'mapcomponent',
map: carte
}, {
region: 'south',
contentEl: 'south',
id: 'south-panel',
split: false,
height: 100,
minSize: 100,
maxSize: 200,
collapsible: true,
title: 'Résultats',
margins: '0 0 0 0'
}, {
region:'west',
id:'ouest',
title:'Gestion des couches',
split:true,
width:200,
items:[ {
id:'tree',
title:'Arborescence',
xtype:'layertree',
map:carte,
model: treeModel,
showWmsLegend: true,
height:300,
plugins: [
mapfish.widgets.LayerTree.createContextualMenuPlugin(['opacitySlideDirect'])
]
},{
title: 'Carte générale',
html:'<div id="overviewmap"></div>'
},{
id:"raccourcis",
title:"DOM/France Métro",
height:"auto",
xtype:"shortcuts",
map: carte,
store : createShortcutsStore(),
templates : {
header: new Ext.Template("<br/>Zoomez directement sur<br/>"),
footer: new Ext.Template("<br/>Cliquez droit sur les couches pour gérer leur tranparence")
}
}
]
}]
});
En théorie legendDiv : 'myChoroplethLegendDiv' permet d'afficher la légende dans une div myChoroplethLegendDiv.
Cependant à cause du viewport je ne peux pas mettre ma div directement dans le body...
Comment puis-je afficher ma légende?
Est ce que je dois créer un mappanel?
Merci d'avance pour votre aide!
Cordialement.
Hors ligne
#2 Wed 11 May 2011 16:05
- lafeelilie
- Juste Inscrit !
- Lieu: Nantes
- Date d'inscription: 11 May 2011
- Messages: 5
- Site web
Re: Mapfish légende choropleth et proportionnal symbol
Quelqu'un est déjà parvenu à afficher une légende vecteur avec mapfish?
Merci!
Hors ligne
#3 Wed 11 May 2011 16:12
Re: Mapfish légende choropleth et proportionnal symbol
Bonjour,
Ce n'est malheureusement pas possible pour le moment voir http://lists.mapfish.org/pipermail/user … 03289.html
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Wed 11 May 2011 17:50
- lafeelilie
- Juste Inscrit !
- Lieu: Nantes
- Date d'inscription: 11 May 2011
- Messages: 5
- Site web
Re: Mapfish légende choropleth et proportionnal symbol
Non c'est bon j'ai presque réussi à résoudre mon problème!!!
Dans les items il faut créer la div avec par exemple:
contentEl: 'choronorth'
puis l'appeler dans le body:
<div id="choronorth">
<div id="myChoroplethLegendDiv"></div>
</div>
Merci d'avoir répondu tout de même!
Cordialement.
Hors ligne
#5 Wed 11 May 2011 18:05
Re: Mapfish légende choropleth et proportionnal symbol
Non c'est bon j'ai presque réussi à résoudre mon problème!!!
Dans les items il faut créer la div avec par exemple:
contentEl: 'choronorth'
puis l'appeler dans le body:
<div id="choronorth">
<div id="myChoroplethLegendDiv"></div>
</div>
Merci d'avoir répondu tout de même!
Cordialement.
J'avais mal compris
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne