//----------------------------------------------------------------------------------------------- // DECLARATION DES VARIABLES GLOBALES CARTE //var mapfile = "/var/www/dgac/dgac_01062011_80.map"; var mapserver_layer; var vep_layer; var iv, VISU, map = null; var viewer = null; //ICI ajout de 2 variables globales var SelectCtrl=null; var hoverCtrl=null; //----------------------------------------------------------------------------------------------------- // FONCTION D'INITIALISATION DE LA CARTE (API GEOPORTAIL) function Initialisation() { //console.log('load'); iv = Geoportal.load( // div's ID: 'DivCarte', // API's keys: [G_CleAPI], {// map's center : // longitude: lon:2.5457005, // longitude en dégrés décimaux // latitude: lat:46.2366904 // latitude en dégrés décimaux }, 6,// ZOOM { layers:['ORTHOIMAGERY.ORTHOPHOTOS'], type:'js', viewerClass:Geoportal.Viewer.Default, onView:initMap, proxyUrl:'./proxy/proxy_IGN.php?url=' } ); } //----------------------------------------------------------------------------------------------------- function initMap () { viewer = iv.getViewer(); map = viewer.getMap(); viewer.addGeoportalLayers( ['ORTHOIMAGERY.ORTHOPHOTOS:WMSC', 'GEOGRAPHICALGRIDSYSTEMS.MAPS', 'ADMINISTRATIVEUNITS.BOUNDARIES', 'TRANSPORTNETWORKS.RUNWAYS', 'TRANSPORTNETWORKS.ROADS'], { 'ORTHOIMAGERY.ORTHOPHOTOS:WMSC':{visibility:true, opacity:1}, 'GEOGRAPHICALGRIDSYSTEMS.MAPS':{visibility:true, opacity:0.5, maxZoomLevel:13}, 'ADMINISTRATIVEUNITS.BOUNDARIES':{visibility:true, opacity:1}, 'TRANSPORTNETWORKS.RUNWAYS':{visibility:true, opacity:0.8}, 'TRANSPORTNETWORKS.ROADS':{visibility:true, opacity:0.8}, } ); //Ajout de la couche des aéroports var WBaleMulhouse = map.addLayer( 'KML', 'Bale-Mulhouse', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Bale-Mulhouse_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WBeauvais = map.addLayer( 'KML', 'Beauvais', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Beauvais_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WBordeaux = map.addLayer( 'KML', 'Bordeaux', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Bordeaux_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WLyon = map.addLayer( 'KML', 'Lyon', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Lyon_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WMarseille = map.addLayer( 'KML', 'Marseille', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Marseille_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WNantes = map.addLayer( 'KML', 'Nantes', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Nantes_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WNice = map.addLayer( 'KML', 'Nice', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Nice_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WParis = map.addLayer( 'KML', 'Paris RP', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Paris.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WParisCDG = map.addLayer( 'KML', 'Paris CDG', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/PARIS_CDG.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL //ICI './KML/PARIS_CDG_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WParisLBG = map.addLayer( 'KML', 'Paris Le Bourget', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche //ICI './KML/PARIS_LeBourget_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL './KML/Paris_LeBourget_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WParisORY = map.addLayer( 'KML', 'Paris Orly', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/PARIS_Orly_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WStrasbourg = map.addLayer( 'KML', 'Strasbourg', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Strasbourg_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); var WToulouse = map.addLayer( 'KML', 'Toulouse', // Le nom que vous souhaitez donner à la couche et qui apparaitra dans le gestionnaire de couche './KML/Toulouse_short.kml', // Le chemin d'accès au fichier KML source, sous forme de chemin relatif ou d'URL { visibility:true, opacity:0.7 } ); // Ajout Neil 1 //on hover => highlight the "temporary" style //au survol => highlight sur le style "temporary" : var SelectCtrlOpts = OpenLayers.Util.extend( map.getPopupDefaults('KML'), { //hover:true, // onSelect:function () {alert('OK');}, onSelect:SelectionAeroport, //highlightOnly: true, //name of the style to be applied //Nom du style à appliquer //renderIntent: "temporary", autoActivate: true, handlersOptions:{ feature:{ stopDown:false//allow pan map when drag in feature } } } ); //ICI var SelectCtrl = ... fait appelle à une variable locale alors qu'on veut qu'il utilise la variable globale => on enlève le var SelectCtrl= new OpenLayers.Control.SelectFeature([WBaleMulhouse, WBeauvais, WBordeaux, WLyon, WMarseille, WNantes, WNice, WParisORY, WParisCDG, WParisLBG, WStrasbourg, WToulouse], SelectCtrlOpts); // Fin ajout Neil 1 var hoverCtrlOpts = OpenLayers.Util.extend( viewer.getMap().getPopupDefaults('KML'), { hover:true, onSelect:HoverAeroport, autoActivate: true, handlersOptions:{ feature:{ stopDown:false//allow pan map when drag in feature } } } ); //ICI var hoberCtrl = ... idem SelectCtrl hoverCtrl= new OpenLayers.Control.SelectFeature([WBaleMulhouse, WBeauvais, WBordeaux, WLyon, WMarseille, WNantes, WNice, WParis, WParisORY, WParisCDG, WParisLBG, WStrasbourg, WToulouse], hoverCtrlOpts); //ICI on ajoute hoverctrl en premier pour qu'il soit le premier à être déclenché. viewer.getMap().addControl(hoverCtrl); viewer.getMap().addControl(SelectCtrl); } //----------------------------------------------------------------------------------------------------- function SelectionAeroport(P_Feature) { WAeroport = P_Feature.attributes.name; //DEBUG document.title="Click "+WAeroport; if (Contient(WAeroport, "Paris RP") == true) { alert(WAeroport); // faire un zoom sur Paris et afficher les marqueurs pour ORY, CDG et LBG }; if (Contient(WAeroport, "Charles") == true) { WFichierHTML = "Paris_CDG.HTML"; window.open(WFichierHTML,"_top"); }; if (Contient(WAeroport, "Bourget") == true) { WFichierHTML = "Paris_LBG.HTML"; window.open(WFichierHTML,"_top"); }; } //----------------------------------------------------------------------------------------------------- function HoverAeroport(P_Feature) { hoverCtrl.unselect(P_Feature); WAeroport = P_Feature.attributes.name; //DEBUG document.title=WAeroport; } //-----------------------------------------------------------------------------------------------------