MediaWiki:Géolocalisation.js

De Guild Wars 2 Wiki
Aller à la navigation Aller à la recherche

Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  • Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
  • Opera : appuyez sur Ctrl + F5.
 /*<nowiki>*/
/**** class Géolocalisation.js
 * (c) 2011 by Louis Trezzini [Till034]
 *
 * This class allows to put dots on a map.
 * Objects which class attribute contains 'carte' are affected by this class.
 * It finds objects which class attribute contains 'point' and makes them appear on the map.
 * The map file must be described in the array and the coordinates are those of the dot on the larger image.
 */

function Géolocalisation(){

	var tailles_cartes = new Object();
	tailles_cartes["La Citadelle noire"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["La Citadelle noire"]["width"] = 1538;
	tailles_cartes["La Citadelle noire"]["height"] = 2048;
	tailles_cartes["La Vallée de la reine"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["La Vallée de la reine"]["width"] = 3584;
	tailles_cartes["La Vallée de la reine"]["height"] = 2432;
	tailles_cartes["Collines de Kesse"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Collines de Kesse"]["width"] = 4096;
	tailles_cartes["Collines de Kesse"]["height"] = 2048;
	tailles_cartes["Collines de Kessex"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Collines de Kessex"]["width"] = 4096;
	tailles_cartes["Collines de Kessex"]["height"] = 2048;
	tailles_cartes["Hoelbrak"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Hoelbrak"]["width"] = 2304;
	tailles_cartes["Hoelbrak"]["height"] = 1664;
	tailles_cartes["Hinterlands Harathis"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Hinterlands Harathis"]["width"] = 3200;
	tailles_cartes["Hinterlands Harathis"]["height"] = 2816;
	tailles_cartes["Le Promontoire divin"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Le Promontoire divin"]["width"] = 1920;
	tailles_cartes["Le Promontoire divin"]["height"] = 1792;
	tailles_cartes["Plateau de Diessa"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Plateau de Diessa"]["width"] = 3584;
	tailles_cartes["Plateau de Diessa"]["height"] = 2304;
	tailles_cartes["Champs de Gendarran"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Champs de Gendarran"]["width"] = 4224;
	tailles_cartes["Champs de Gendarran"]["height"] = 2048;
	tailles_cartes["Terres sauvages de Brisban"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Terres sauvages de Brisban"]["width"] = 3456;
	tailles_cartes["Terres sauvages de Brisban"]["height"] = 2688;
	tailles_cartes["Contreforts du Voyageur"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Contreforts du Voyageur"]["width"] = 1792;
	tailles_cartes["Contreforts du Voyageur"]["height"] = 4608;
	tailles_cartes["Plaines d'Ashford"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Plaines d'Ashford"]["width"] = 4096;
	tailles_cartes["Plaines d'Ashford"]["height"] = 2048;
	tailles_cartes["Congères d'Antreneige"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Congères d'Antreneige"]["width"] = 4096;
	tailles_cartes["Congères d'Antreneige"]["height"] = 2048;
	tailles_cartes["L'Arche du Lion"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["L'Arche du Lion"]["width"] = 2434;
	tailles_cartes["L'Arche du Lion"]["height"] = 1536;
        tailles_cartes["Rata Sum"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Rata Sum"]["width"] = 2560;
	tailles_cartes["Rata Sum"]["height"] = 2560;
        tailles_cartes["Le Bosquet"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Le Bosquet"]["width"] = 1408;
	tailles_cartes["Le Bosquet"]["height"] = 2048;
        tailles_cartes["Forêt de Caledon"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Forêt de Caledon"]["width"] = 1920;
	tailles_cartes["Forêt de Caledon"]["height"] = 3968;
        tailles_cartes["Province de Metrica"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Province de Metrica"]["width"] = 2176;
	tailles_cartes["Province de Metrica"]["height"] = 3328;
        tailles_cartes["Passage de Lornar"] = new Object(); //Pour ajouter une nouvelle carte recopier ces trois lignes
	tailles_cartes["Passage de Lornar"]["width"] = 1794;
	tailles_cartes["Passage de Lornar"]["height"] = 4864;
tailles_cartes["Falaises de Hantedraguerre"] = new Object();
tailles_cartes["Falaises de Hantedraguerre"]["width"] = 2304;
tailles_cartes["Falaises de Hantedraguerre"]["height"] = 3200;
tailles_cartes["Chutes de la Canopée"] = new Object();
tailles_cartes["Chutes de la Canopée"]["width"] = 2304;
tailles_cartes["Chutes de la Canopée"]["height"] = 3200;
tailles_cartes["Mont Maelström"] = new Object();
tailles_cartes["Mont Maelström"]["width"] = 3840;
tailles_cartes["Mont Maelström"]["height"] = 2432;
tailles_cartes["Côte de la marée sanglante"] = new Object();
tailles_cartes["Côte de la marée sanglante"]["width"] = 2432;
tailles_cartes["Côte de la marée sanglante"]["height"] = 3200;
tailles_cartes["Marais de Lumillule"] = new Object();
tailles_cartes["Marais de Lumillule"]["width"] = 2560;
tailles_cartes["Marais de Lumillule"]["height"] = 3328;
tailles_cartes["Détroit de la Dévastation"] = new Object();
tailles_cartes["Détroit de la Dévastation"]["width"] = 3328;
tailles_cartes["Détroit de la Dévastation"]["height"] = 2816;
tailles_cartes["Saut de Malchor"] = new Object();
tailles_cartes["Saut de Malchor"]["width"] = 4096;
tailles_cartes["Saut de Malchor"]["height"] = 2048;
tailles_cartes["Champs de Ruine"] = new Object();
tailles_cartes["Champs de Ruine"]["width"] = 3072;
tailles_cartes["Champs de Ruine"]["height"] = 3072;
tailles_cartes["Détroit des gorges glacées"] = new Object();
tailles_cartes["Détroit des gorges glacées"]["width"] = 3072;
tailles_cartes["Détroit des gorges glacées"]["height"] = 3072;
tailles_cartes["Montée de Flambecoeur"] = new Object();
tailles_cartes["Montée de Flambecoeur"]["width"] = 3328;
tailles_cartes["Montée de Flambecoeur"]["height"] = 2816;
tailles_cartes["Marais de fer"] = new Object();
tailles_cartes["Marais de fer"]["width"] = 2048;
tailles_cartes["Marais de fer"]["height"] = 4096;
tailles_cartes["Les steppes de la Strie flamboyante"] = new Object();
tailles_cartes["Les steppes de la Strie flamboyante"]["width"] = 2048;
tailles_cartes["Les steppes de la Strie flamboyante"]["height"] = 4096;
tailles_cartes["Les Steppes de la Strie flamboyante"] = new Object();
tailles_cartes["Les Steppes de la Strie flamboyante"]["width"] = 2048;
tailles_cartes["Les Steppes de la Strie flamboyante"]["height"] = 4096;
tailles_cartes["Rivage maudit"] = new Object();
tailles_cartes["Rivage maudit"]["width"] = 2048;
tailles_cartes["Rivage maudit"]["height"] = 4096;
tailles_cartes["Crique de Sud-Soleil"] = new Object();
tailles_cartes["Crique de Sud-Soleil"]["width"] = 2688;
tailles_cartes["Crique de Sud-Soleil"]["height"] = 1792;
tailles_cartes["Champs de bataille éternels"] = new Object();
tailles_cartes["Champs de bataille éternels"]["width"] = 3080;
tailles_cartes["Champs de bataille éternels"]["height"] =  3072;
tailles_cartes["Col aride"] = new Object();
tailles_cartes["Col aride"]["width"] = 2304;
tailles_cartes["Col aride"]["height"] =  2686;

	tailles_cartes[" de la Tyrie illuminée"] = new Object(); //Hack immonde. A refaire proprement
	tailles_cartes[" de la Tyrie illuminée"]["width"] = 256;
	tailles_cartes[" de la Tyrie illuminée"]["height"] = 256;

        //$('#carte-options').cluetip({attribute:'title', activation: 'click', local:true, width:700, showTitle:false});

	$('.carte').each(function(){
		var mapObj = $(this).find('img'); //Recherche de l'image de la minicarte
		if (mapObj.length === 0) {return;} // il n'y a pas d'image, on ne cherche pas plus loin
		var height = mapObj.height(); //récupération de la taille de la minicarte
		var width = mapObj.width();
		var map = mapObj.attr("alt").substr(5, mapObj.attr("alt").length-9); //récupération du nom de la map dans l'attribut "alt" de l'image, puis suppression du "Plan-" (5 caractères) et du ".jpg" (4 caractères)
		var o_height = tailles_cartes[map]["height"]; //récupération de la taille de la carte
		var o_width = tailles_cartes[map]["width"];
		$(this).find('.carte-point').each(function(){
			var lien = $(this).find('a').attr("href");
			var x = $(this).find('.carte-x').text(); //récupération des coordonées sur la grande carte
			var y = $(this).find('.carte-y').text();
			var nw_x = (x/o_height)*height - 3; //calcul de la nouvelle taille (proportionalité)
			var nw_y = (y/o_width)*width - 3;
			if(nw_x >= 0.0 && nw_y >= 0.0)
			$(this).css("top", Math.round(nw_y)).css("left", Math.round(nw_x)).show(); //on définit les coordonnées du point et on l'affiche
			if(typeof lien != "undefined"){
                            if(lien.length != 0){
				$(this).css("cursor", "pointer");
				$(this).click(function(){					
					 window.location=lien;
					return false;
				});
			    }
                        }
			var l = $(this).find('.carte-l');
			var h = $(this).find('.carte-h');
			if(l.length!=0){
				$(this).css("width", Math.round((l.text()/o_height)*height) - 1);
				$(this).css("height", Math.round((h.text()/o_width)*width) - 1);
				nw_x = nw_x + 3;
				nw_y = nw_y + 3;
				$(this).css("top", Math.round(nw_y)).css("left", Math.round(nw_x)).show();
				$(this).css("background", 'none');
				$(this).css("background-color", 'transparent');
			}
		});
	});
	
	function toggle(toggletype){
		if(typeof(target) == 'undefined'){
			target=$('.carte');
		}
		target.find('.carte-point').each(function(){
			var type = $(this).find('.carte-type').text();
			var types = new Array(type.split('/'));
			for(var i=0; i<types.length ; i++){
				if(types[i]==toggletype){ 
					$(this).toggle();
				}
			}
		});	
	}
	
	$('.carte-légende-PNJ').toggle(function(){
		toggle("pnj");
		$(this).text("Afficher");
	},function(){
		toggle("pnj");
		$(this).text("Masquer");
	});
	
	$('.carte-légende-marchand').toggle(function(){
		toggle("marchand");
		$(this).text("Afficher");
	},function(){
		toggle("marchand");
		$(this).text("Masquer");
	});
	
	$('.carte-légende-passage').toggle(function(){
		toggle("passage");
		$(this).text("Afficher");
	},function(){
		toggle("passage");
		$(this).text("Masquer");
	});
	
	$('.carte-légende-challenge').toggle(function(){
		toggle("challenge");
		$(this).text("Afficher");
	},function(){
		toggle("challenge");
		$(this).text("Masquer");
	});
}

/*</nowiki>*/