Pour pouvoir ajouter dans sa page HTML des clés de plusieurs contrats différents, il faut:
Le code HTML suivant contient tous les éléments nécessaires à l'inclusion de cartes avec plusieurs contrats de licence API :
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>API 2D: multi-cartes</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script
type="text/javascript"
src="http://api.ign.fr/geoportail/api?v=VERSION&key=CONTRAT1&instance=carte1&">
</script>
<script
type="text/javascript"
src=
"http://api.ign.fr/geoportail/api?v=VERSION&key=CONTRAT2&instance=carte2&includeEngine=false&">
</script>
<script type="text/javascript">
<!--
function initGeoportalMap() {
geoportalLoadcarte1("Carte1Div", "normal" );
if( carte1.allowedGeoportalLayers ) {
carte1.addGeoportalLayers(carte1.allowedGeoportalLayers);
}
geoportalLoadcarte2("Carte2Div", "normal", "GLP" );
if( carte2.allowedGeoportalLayers ) {
carte2.addGeoportalLayers(carte2.allowedGeoportalLayers);
}
}
-->
</script>
</head>
<body>
<h1 style="margin-left:45%;">multi-cartes</h1>
<div id="Carte1Div" style="width:800px;height:600px;"></div>
<div id="Carte2Div" style="width:800px;height:600px;position:relative;left:250px"></div>
</body>
</html>
Examinons le code plus en détail. Nous avons deux balises scripts qui permettent de rajouter les deux contrats, chacun associé à une instance de carte. Un seul appel à la fonction initGeoportalMap() suffit. Dans cette fonction, on déclare geoportalLoadcarte1("Carte1Div", "normal" ) qui permet charger la carte associée à la clé CONTRAT1. On initialise l'objet carte2 avec geoportalLoadcarte2("Carte2Div", "normal", "GLP" ) qui correspond au contrat CONTRAT2. Nous avons alors deux cartes différentes avec deux contrats différents sur lesquelles nous pouvons travailler indépendamment l'une de l'autre.