essai 1
j'appelle la fonction kmlloadend
echo'var couche'.$j.' = viewer.getMap().addLayer("KML",tabkml['.$j.'],"temp/"+tabkml['.$j.']+".kml",{styleMap:styles,visibility: true,panMapIfOutOfView:false,eventListeners:{"loadend":kmlLoadend},minZoomLevel: 2,maxZoomLevel: 16},{formatOptions:{extractStyles:false},preventDefaultBehavior:{onFeatureInsert:false}});';
la fonction :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| function kmlLoadend() {
var liste_ilots='';
var exploitation='';
var PT=0;
var PP=0;
var CER=0;
var AC=0;
var AU=0;
var PROT=0;
var OLEA=0;
var MAIS=0;
var GEL=0;
var surftotale=0;
var surfaceculture="";
//affiche l'ensemble de parcelles
viewer.getMap().zoomToExtent(kmltab.getDataExtent());
// baisse le niveau de zoom de 1 pour meilleur affichage
//var zoom=viewer.getMap().getZoom();
// zoom=zoom-1;
// viewer.getMap().zoomTo(zoom);
for (var i= 0, nbF = kmltab.features.length; i<nbF; i++) {
if ( ! kmltab.features[i].attributes ) {
continue;
}
for ( var k in kmltab.features[i].attributes ) {
delete kmltab.features[i].attributes['ident'];
}
// les clé a conserver
var cles = /(Num_ilot|Surf_ilot|PT|PP|CER|MAIS|OLEA|PROT|AU|AC|GEL|code_MAJ)/;
for ( var k in kmltab.features[i].attributes ) {
if ( ! cles.test(k) ) {
delete kmltab.features[i].attributes[k];
continue;
}
if ( kmltab.features[i].attributes[k].value == 0 ) {
delete kmltab.features[i].attributes[k];
}
}
}// fin for i
}//fin fonction |
voici le résultat !
http://randonnee.pedestre85.free.fr/...temp-v13-5.php
essai 2 : je passe par la création de popup.
à première vue cela fonctionne
j'ai une popup sur chaque kml.
si je navigue sur la carte en faisant sortir le kml de la zone de visibilité puis je reviens sur le kml, quand je clique dessus, j'ai la fenêtre d'informations de base avec toutes les informations du kml. iden couche déselectionné dans menu gestion des couches
le résultat
http://randonnee.pedestre85.free.fr/...temp-v13-3.php
voilà le problème
Personnellement, j'aime mieux l'affichage kmlloadend.
Olivier
Partager