Note : tous les Nosferalto ainsi que les Barons aléatoires n'apparaissent qu'après avoir apaisé Hachécateur et validé la mission principale associée.
Pokémon
Carte
";
}
else { datatable_str = "Rien";}
lastClicked = e.target;
lastClicked._icon.classList.add("leaflet-clicked-marker");
document.getElementById('data_table').innerHTML = datatable_str;
}
// initialise les marqueurs de Pokémon
function build_markers() {
layerGroup.clearLayers();
var num = "";
var pos_x = "";
var pos_y = "";
// pour tous les Pokémon de la liste data
for(let i = 0; i < all_data.length; i++) {
if ((num != all_data[i][3])||((pos_x != all_data[i][0][0][0])&&(pos_y != all_data[i][0][0][1]))) {
num = all_data[i][3];
pos_x = all_data[i][0][0][0];
pos_y = all_data[i][0][0][1];
// initialise chaque élément de pokemon_layers à un layerGroup vide
if (pokemon_layers[num] == null) {
pokemon_layers[num] = L.layerGroup([]);
}
// initialise l'image du marqueur du Pokémon
let iconHtml = '';
iconHtml += '';
// crée un marqueur cliquable pour chaque position et le stocke dans pokemon_layers
for(let k = 0; k < all_data[i][0].length; k++) {
marker = new L.Marker(all_data[i][0][k], {icon: new L.divIcon({ html: iconHtml, iconSize: [40, 40]}),title: num}).on('click', markerClickEvent);
pokemon_layers[num].addLayer(marker);
}
}
}
}
// affiche les marqueurs de Pokémon en fonction de l'id reçu
var $li = $('#myUL li').click(function() {
document.getElementById('data_table').innerHTML = "";
$li.removeClass('selected');
$(this).addClass('selected');
id = $(this).attr('id');
if (document.documentElement.clientWidth < 620) { base_zoom = -1;}
else { base_zoom = 0; }
map.setView([300, 300], base_zoom );
// si le layer sélectionné est null, on l'enlève de la carte
if(selectedLayer != null) {
map.removeLayer(pokemon_layers[selectedLayer]);
}
// tous les marqueurs associés au Pokémon de numéro id sont affichés sur la carte
pokemon_layers[id].addTo(map);
selectedLayer = id;
pokemon_layers[selectedLayer].eachLayer(function (layer) {
let popup_html = getPopupHTML(selectedLayer, [layer.getLatLng().lat, layer.getLatLng().lng]);
layer.bindPopup(popup_html, {maxWidth: "auto"});
});
});
function getPopupHTML(numero, coord) {
let popup_str = '';
for(let j = 0; j < all_data.length; j++) {
for (let l = 0; l < all_data[j][0].length; l++) {
if ((numero == all_data[j][3])&&(all_data[j][0][l][0] == coord[0])&&(all_data[j][0][l][1] == coord[1])) {
baron = all_data[j][4];
periode = all_data[j][5];
nb_apparitions = all_data[j][1][l];
if (baron === "oui") { image_baron = '';}
else { image_baron = "";}
if (periode === "Matin/Jour/Soir") { popup_str = popup_str + '
'; } }
for (let k = 0; k < 8; k++) { if (meteos_dispo[k] == 1) { poke_str_res = poke_str_res + '
' + rowsdata[i][9+k] + '
'; } }
poke_str_res = poke_str_res + '
';
}
return(poke_str_res);
}
map.fitBounds(bounds);
function search_pokemon() {
// Declare variables
var input, filter, ul, li, a, i, txtValue;
input = document.getElementById('myInput');
filter = input.value.toUpperCase();
ul = document.getElementById("myUL");
li = ul.getElementsByTagName('li');
// Loop through all list items, and hide those who don't match the search query
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("strong")[0];
txtValue = a.textContent || a.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}