Note : Les Grelaçon & Séracrawl près du Glacier Séracrawl ainsi que tous les Barons aléatoires n'apparaissent qu'après avoir apaisé Séracrawl et validé la mission principale associée. De plus, le Mammochon Baron et le Gueriaigle volant au-dessus du Temple de Frimapic n'apparaissent qu'après avoir obtenu la monture Gueriaigle. Enfin, les Zoroark de la grotte centrale (sud-est) n'apparaissent qu'après avoir terminé la mission principale liée à la Chaîne Rouge.
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";
}
}
}