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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
<html>
<head>
<title>API Geoportail test</title>
<meta http-equiv="X-UA-Compatible" content="IE=7"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- données personnelles permettant l'appel à l'API geoportail -->
<script src="http://api.ign.fr/geoportail/api?v=1.0-e&key=clef&instance=VISU&includeEngine=true&"> </script>
<!-- contenu javascript -->
<script type="text/javascript">
// affichage de pop up
function showPopup(feature) {
if (feature) {
if (!feature.popup) {
var ll= feature.geometry.getBounds().getCenterLonLat();
var me= VISU.getMap().getExtent();
var inView= me.containsLonLat(ll,false);
if (!inView) {
ll= me.getCenterLonLat();
}
feature.popup= new OpenLayers.Popup.FramedCloud(
"chicken",
ll,
null,
"<div style='font-size:1.0em;line-height:1.5em;'><p style=''><b>" + feature.attributes.name + "</b><br/>" + feature.attributes.description + "</div>",
null,
false);
}
if (feature.popup) {
VISU.getMap().addPopup(feature.popup,true);
}
}
}
// dissimulation de pop up
function hidePopup(feature) {
if (feature && feature.popup) {
feature.popup.destroy();
feature.popup= null;
}
}
// affichage de la fenêtre Géoportail
function initGeoportalMap() {
geoportalLoadVISU("GeoportalVisuDiv", "normal");
if (VISU) {
// affichage actif de l'Ortho-imagerie
VISU.addGeoportalLayer('ORTHOIMAGERY.ORTHOPHOTOS:WMSC',{visibility:true});
// affichage actif de la carte IGN avec une opacité de 30%
VISU.addGeoportalLayer('GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC',{opacity:0.3, visibility:true});
// affichage non actif des parcelles cadastrales
VISU.addGeoportalLayer('CADASTRALPARCELS.PARCELS',{visibility:false});
var styleLycee = new OpenLayers.StyleMap({
// affichage de l'image marker.png quand l'icone n'est pas séléctionnée
"default": new OpenLayers.Style({
externalGraphic: "marker.png",
pointRadius: 12
}),
// affichage de l'image markerX.png quand l'icone est séléctionnée
"select": new OpenLayers.Style({
externalGraphic: "markerX.png",
pointRadius: 12
})
});
// ajout d'une couche nommée région qui appel le fichier region.kml
VISU.getMap().addLayer(
"KML",
"Région",
"region.kml",
{
// affichage actif par defaut
visibility : true,
styleMap : styleLycee
},
{
onSelect : showPopup,
onUnselect : hidePopup
}
);
// ajout d'une couche nommée lycées qui appel le fichier lycees.kml
VISU.getMap().addLayer(
"KML",
"Lycées",
"lycee.kml",
{
// affichage actif par defaut
visibility : true,
styleMap : styleLycee
},
{
onSelect : showPopup,
onUnselect : hidePopup
}
);
var proj = new OpenLayers.Projection(VISU.getMap().projection);
var geographic = new OpenLayers.Projection('EPSG:4326');
// centrage de la carte
var centre = new OpenLayers.LonLat(4.359,48.952).transform(geographic,proj);
// séléction du niveau de zoom
VISU.getMap().setCenter(centre,7);
}
}
</script>
</head>
<body>
<div id="GeoportalVisuDiv" style="width:1024px;height:768px;"></div>
</body>
</html> |
Partager