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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
|
<div id="viewerDiv" style="min-height:500px;"></div>
<script type="text/javascript">
<!-- // script geoportalMap_gpx
//Copyright (c) 2008-2012 Institut National de l'information Geographique et forestiere France, released under the BSD license.
/**
* Property: viewer
* {<Geoportal.Viewer>} the viewer global instance.
* La variable viewer est déclarée lors de l'appel au script de chargement de l'api en paramètre de instance, pas besoin de la redéclarer.
*/
viewer= null;
//Changement du style de rendu de l'objet selon s'il est selectionné ou pas
function changeRenderIntent (o) {
if (o && o.feature) {
o.feature.renderIntent= o.feature.renderIntent=="default"?
"select"
: "default";
}
}
/**
* Function: initMap
* Load the application. Called when all information have been loaded by
* <loadAPI>().
*/
function initMap() {
//L'api est chargée à cette étape
// ajout tranductions
/* translate(); */
//options for creating viewer:
var options= {
// valeur par défaut
mode:'normal',
// default value
// valeur par défaut
//territory:'FXX',
// valeur par défaut
displayProjection:'IGNF:RGF93G',
// taille des logos coin bas droit
controlsOptions:{
logoSize:30
}
// utile uniquement pour charger des resources externes
//proxy:'/geoportail/api/xmlproxy'+'?url='
};
// création du visualiseur du type <Geoportal.Viewer>, HTML div id, options
viewer= new Geoportal.Viewer.Default(
"viewerDiv",
OpenLayers.Util.extend(
options,
// variable contenant la configuration des clefs API remplie par
// <Geoportal.GeoRMHandler.getConfig>
window.gGEOPORTALRIGHTSMANAGEMENT===undefined? {'apiKey':'......... la clé d'utilisation géoportail ......'} : gGEOPORTALRIGHTSMANAGEMENT)
);
//____________Onglet "couches" affiché (true=oui false=non)
viewer.setLayersPanelVisibility(true);
//____________Onglet "couches" développé (true=oui false=non)
viewer.openLayersPanel(false);
//____________Onglet "outils" affiché (true=oui false=non)
viewer.setToolsPanelVisibility(true);
//____________Onglet "outils" développé (true=oui false=non)
viewer.openToolsPanel(true);
// désactive le mouse wheel :
var c= viewer.getMap().getControlsByClass('OpenLayers.Control.Navigation');
if (c.length>0) {
c= c[0];
c.deactivate();
c.zoomWheelEnabled= false;
c.activate();
}
// masque le toolbox navigation control (pan and zoom box) :
/* c= viewer.getMap().getControlsByClass('Geoportal.Control.NavToolbar');
if (c.length>0) {
c= c[0];
c.div.style.display= 'none';
} */
// change le label du toolbox :
/* c= viewer.getMap().getControlsByClass('Geoportal.Control.ToolBox');
if (c.length>0) {
c= c[0];
Geoportal.Lang['de']['gpControlToolBox.label']= 'Ebenen';
Geoportal.Lang['en']['gpControlToolBox.label']= 'Levels';
Geoportal.Lang['es']['gpControlToolBox.label']= 'Los niveles de';
Geoportal.Lang['fr']['gpControlToolBox.label']= 'Niveaux';
Geoportal.Lang['it']['gpControlToolBox.label']= 'Livelli';
c.changeLang();
}
c= null;
*/
if (!viewer) {
// problem ...
OpenLayers.Console.error(OpenLayers.i18n('new.instance.failed'));
return;
}
//Chargement des couches de données
viewer.addGeoportalLayers([
'ORTHOIMAGERY.ORTHOPHOTOS',
'GEOGRAPHICALGRIDSYSTEMS.MAPS',
'CADASTRALPARCELS.PARCELS',
'HYDROGRAPHY.HYDROGRAPHY',
'ADMINISTRATIVEUNITS.BOUNDARIES',
'BUILDINGS.BUILDINGS',
'ELEVATION.SLOPES',
'GEOGRAPHICALNAMES.NAMES',
'ELEVATION.LEVEL0',
'TRANSPORTNETWORKS.RAILWAYS',
'TRANSPORTNETWORKS.ROADS',
'TRANSPORTNETWORKS.RUNWAYS',
'UTILITYANDGOVERNMENTALSERVICES.ALL'],
{
'ORTHOIMAGERY.ORTHOPHOTOS':{
visibility:true,
opacity: 1,
name:'Photo aérienne'
},
'GEOGRAPHICALGRIDSYSTEMS.MAPS':{
visibility:true,
opacity: 0.6
},
'CADASTRALPARCELS.PARCELS':{
visibility:false,
opacity: 0.6,
},
'HYDROGRAPHY.HYDROGRAPHY':{
visibility:false,
opacity: 0.6,
},
'ADMINISTRATIVEUNITS.BOUNDARIES':{
visibility:false,
opacity: 0.6,
},
'BUILDINGS.BUILDINGS':{
visibility:false,
opacity: 0.6,
},
'ELEVATION.SLOPES':{
visibility:false,
opacity: 0.6,
//name:'Altitudes'
},
'GEOGRAPHICALNAMES.NAMES':{
visibility:false,
opacity: 0.6,
},
'ELEVATION.LEVEL0':{
visibility:false,
opacity: 0.6,
},
'TRANSPORTNETWORKS.RAILWAYS':{
visibility:false,
opacity: 0.6,
},
'TRANSPORTNETWORKS.ROADS':{
visibility:false,
opacity: 1
},
'TRANSPORTNETWORKS.RUNWAYS':{
visibility:false,
opacity: 0.6,
},
'UTILITYANDGOVERNMENTALSERVICES.ALL':{
visibility:false,
opacity: 0.6,
},
global:{
transitionEffect: 'resize'
}
});
//La couche GPX allant de 10 à 13, on se met au bon niveau de zoom :
viewer.getMap().setCenter(viewer.viewerOptions.defaultCenter,10);
// cache la patience
viewer.div.style[OpenLayers.String.camelize('background-image')]= 'none';
//Ajout d'une couche GPX : une ballade en vélo ...
var gpx= viewer.getMap().addLayer("GPX",
/**
* layer_name parameter contient le texte qui sera affiché dans le gestionnaire de couches.
* Les traductions peuvent être mises directement içi !
*/
{
'track.gpx.name':
{
'de':"Reise",
'en':"Trip",
'es':"Viaje",
'fr':"Points intéressants",
'it':"Viaggio"
}
},
/**
* url_to_gpx parameter Chemin d'accès aux données GPX
*/
"......./gpx/amrc_parcour_memoire.gpx",
{
// gpx_options contient les informations permettant d'affiner le comportement de la couche GPX
visibility:true,
opacity:1.0,
minZoomLevel:0,
maxZoomLevel:0,
originators:[{
pictureUrl:'',
url:''
}],
styleMap:new OpenLayers.StyleMap({
"default": new OpenLayers.Style(
OpenLayers.Util.applyDefaults({
fillColor: "#03C51B",
fillOpacity: 1,
strokeColor: "#03C51B",
strokeWidth: 2,
graphicZIndex: "${zIndex}",
// forme du marqueur, voir http://api.ign.fr/tech-docs-js/examples/geoportalMap_graphicName.html
graphicName: "${getSym}",
//graphicName: "circle",
pointRadius: 8,
//see context object below
// commenter la ligne suivante pour ne pas afficher le nom du waypoint sur la carte
label:"${getName}",
labelAlign: "rb",
labelXOffset: 5,
labelYOffset: -23,
labelBackgroundColor: "#484F6C",
labelBorderColor: "#FFFFFF",
labelBorderSize: "1px",
fontColor: "#FFFFFF",
fontWeight: "bold",
fontSize: "10px",
fontFamily: "Arial, Courier New, monospace"
},OpenLayers.Feature.Vector.style["default"]),{
/**
* L'objet contexte contient une fonction appelée dans le symboliseur.
* Cette fonction qui prend comme argument feature ,sera appelée lors de l'utilisation du style "temporary"
*/
context:{
getName: function(f) {
if (f.attributes['typeName']=='wpt') {
return f.attributes['name'];
}
return '';
},
getSym: function(f) {
return f.attributes.sym;
}
}
}),
"select": new OpenLayers.Style(
OpenLayers.Util.applyDefaults({
fillColor: "#FF9900",
fillOpacity: 0.75,
strokeColor: "#FFFF00",
strokeWidth: 4,
pointRadius: 12
},OpenLayers.Feature.Vector.style["select"]))
}),
/**
* Pour modifier le rendu et le comportement par défaut des fiches GPX, il faut surcharger les options:
* preFeatureInsert, onFeatureInsert, onSelect, onUnselect, et, éventuellement, hover.
*/
preFeatureInsert:
/**
* Set waypoints over tracks and routes.
* Parameters: f - {OpenLayers.Feature} the newly created feature.
*/
function(f) {
if (f) {
// default Geoportal API : cursor pointer on hover ...
Geoportal.Popup.setPointerCursorForFeature(f);
var zidx= 0;
if (f.attributes['typeName']=='wpt') {
zidx= 1;
}
f.attributes['zIndex']= zidx;
}
},
rendererOptions: {
/**
* Z-Index:
* Permet de jouer sur l'ordre d'affichage des couches
* see the example: http://openlayers.org/dev/examples/ordering.html
*/
zIndexing: true
},
/**
* skipAttributes
* tableau des attributs à ne pas mettre dans la popup
*/
skipAttributes:['zIndex'],//do not render zIndex in popups!
// skipAttributes:['ele']
eventListeners:{
"loadend" : function() {
if (this.maxExtent) {
//Zoom et recentrage sur l'emprise maxi
this.map.zoomToExtent(this.maxExtent);
}
},
//Changing the feature's style
"beforefeatureselected": changeRenderIntent,
"featureunselected" : changeRenderIntent
}
},
//options_popup : contient les informations permettant d'affiner le comportement des popups associées à la couche gpx
{
"hover" : false,
//"onSelect" : désactive la gestion popup, pour ajouter les mécanismes de gestion des popups ;
}
);
}
/**
* Function: loadAPI
* Load the configuration related with the API keys. Called on "onload" event. Call <initMap>() function to load the interface.
*/
function loadAPI() {
// on attend que les classes soient chargées
if (checkApiLoading('loadAPI();',['OpenLayers','Geoportal','Geoportal.Viewer','Geoportal.Viewer.Default'])===false) {
return;
}
// on charge la configuration de la clef API, puis on charge l'application
Geoportal.GeoRMHandler.getConfig(['.......... la clé d'utilisation géoportail .............'], null,null, {
onContractsComplete: initMap
});
}
// assignation de la fonction à appeler lors de la levée de l'évènement "onload"
window.onload= loadAPI;
-->
</script>
<script type="text/javascript" charset="utf-8" src="http://api.ign.fr/geoportail/api/js/2.0.3/GeoportalExtended.js"><!-- --></script> |
Partager