Mapa

Z Endor Revived Wiki

Verze z 31. 8. 2024, 22:06, kterou vytvořil Reloecc (diskuse | příspěvky) (založena nová stránka s textem „<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/> <script src="https://unpkg.com/[email protected]/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script> <style> .leaflet-container { height: 100%; width: 100%; max-width: 100%; max-height: 100%; } </style> <script src="https://wiki.en…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin=""/> <script src="https://unpkg.com/[email protected]/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>

<style> .leaflet-container {

  height: 100%;
  width: 100%;
  max-width: 100%;
  max-height: 100%;

} </style>

<script src="https://wiki.endor-revived.com/resources/custom/mapa.js"></script>

<script>

 const yx = L.latLng;
 function xy(x, y) {
   if (Array.isArray(x)) {
     return yx(x[1], x[0]);
   }
   return yx(y, x);
 }
 function xyEndor(x, y) {
   return yx(4096 - y, x);
 }
 function createMarkers(L, markers, type, color) {
   const group = [];
   markers.forEach(marker => {
     let newMarker;
     if(type === 'circle') {
       newMaker = L.circleMarker(xyEndor(marker.coords.x, marker.coords.y), {
         title: marker.name + (' (X: ' + marker.coords.x + ' Y: ' + marker.coords.y + ')' ),
         color: color,
         radius: marker.radius ?? 5
       }).bindPopup(marker.name + (' (X: ' + marker.coords.x + ' Y: ' + marker.coords.y + ')' ));
     } else {
       const options = {
         color: color,
         title: marker.name + (' (X: ' + marker.coords.x + ' Y: ' + marker.coords.y + ')' ),
       };
       if(marker.icon) {
           options.icon = L.icon({
               iconUrl: `img/icons/${marker.icon}.png`,
               iconSize: [31, 31],
               iconAnchor: [16, 16],
               popupAnchor: [0, -16]
           });
       }
       newMaker = L.marker(xyEndor(marker.coords.x, marker.coords.y), options)
         .bindPopup((marker.desc ?? marker.name) + ' (X: ' + marker.coords.x + ' Y: ' + marker.coords.y + ')');
     }
     group.push(newMaker);
   });
   return L.layerGroup(group);
 }
 const citiesLGroup = createMarkers(L, cities, 'marker');
 const questsLGroup = createMarkers(L, quests, 'marker');
 const wildernessLGroup = createMarkers(L, wildersnessSpawns, 'circle', 'cyan');
 const banksHealersGroup = createMarkers(L, banksHealers, 'marker');
 const guildsGroup = createMarkers(L, guilds, 'marker');
 const placesGroup = createMarkers(L, places, 'marker');
 const merchantsGroup = createMarkers(L, merchants, 'marker');
 const travelersGroup = createMarkers(L, travelers, 'marker');
 const dungeonsGroup = createMarkers(L, dungeons, 'marker');
 const dungeons15Group = createMarkers(L, dungeons15, 'marker');
 const dungeons20Group = createMarkers(L, dungeons20, 'marker');
 const dungeons25Group = createMarkers(L, dungeons25, 'marker');
 const map = L.map('map', {
   crs: L.CRS.Simple,
   minZoom: -2,
   layers: [
     citiesLGroup,
     wildernessLGroup,
     banksHealersGroup,
     guildsGroup,
     placesGroup,
     merchantsGroup,
     travelersGroup,
     dungeonsGroup,
     dungeons15Group,
     dungeons20Group,
     dungeons25Group,
     questsLGroup
   ]
 });
 const bounds = [xy(0, 0), xy(7168, 4096)];
 const image = L.imageOverlay('img/map.png', bounds).addTo(map);
 L.control.layers({},{
   "Banks & Healers": banksHealersGroup,
   "Cities": citiesLGroup,
   "Classmasters": guildsGroup,
   "Dungeons (low)": dungeonsGroup,
   "Dungeons (15+)": dungeons15Group,
   "Dungeons (20+)": dungeons20Group,
   "Dungeons (25+)": dungeons25Group,
   "Merchants": merchantsGroup,
   "Other": placesGroup,

"Quests": questsLGroup,

   "Travelers": travelersGroup,
   "Wilderness": wildernessLGroup
 }).addTo(map);
 map.setView(xy(3000, 2048), -1);

</script>