Subversion Repositories wimsdev

Rev

Rev 16400 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. !if $opengeoloc!=yes
  2.  $name_nogeoloc
  3.  !exit
  4. !endif
  5. $name_geolocdesc
  6. <link rel="stylesheet" href="//unpkg.com/leaflet@1.7.1/dist/leaflet.css"
  7.    integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
  8.    crossorigin="">
  9. <script src="//unpkg.com/leaflet@1.7.1/dist/leaflet.js"
  10.    integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
  11.    crossorigin=""></script>
  12. <script src='//cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/0.4.0/leaflet.markercluster.js'></script>
  13.  
  14. <link rel="stylesheet" href="//unpkg.com/leaflet.markercluster@1.3.0/dist/MarkerCluster.css">
  15. <link rel="stylesheet" href="//unpkg.com/leaflet.markercluster@1.3.0/dist/MarkerCluster.Default.css">
  16. <script src="//unpkg.com/leaflet.markercluster@1.3.0/dist/leaflet.markercluster.js"></script>
  17.  
  18. <div id="mapid" style="width: 100%; max-width: 1000px; height: 800px; margin:.5em auto;"> </div>
  19.  
  20. <script>
  21.   var map = L.map('mapid').setView([$Xserver, $Yserver], 7);
  22.   L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
  23.     attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery &copy <a href="https://www.mapbox.com/">Mapbox</a>',
  24.     maxZoom: 18,
  25.     id: 'mapbox/streets-v11',
  26.     tileSize: 512,
  27.     zoomOffset: -1,
  28.   }).addTo(map);
  29.  
  30.   var LeafIcon = L.Icon.extend({
  31.   options: {
  32.     iconSize:     [12, 39],
  33.     shadowSize:   [30, 41],
  34.     iconAnchor:   [7, 39],
  35.     shadowAnchor: [5, 39],
  36.     popupAnchor:  [0, -39]
  37.     }
  38.     });
  39.   var ClassIcon = new LeafIcon({iconUrl: 'gifs/svg/iconeserver.svg'});
  40.   var ServerIcon = new LeafIcon({iconUrl: 'gifs/svg/iconeserver.svg'});
  41.  
  42.   var markers = L.markerClusterGroup();
  43.   !for k=1 to $[$nbclass-$serverloc]
  44.     !let data=!record $k of wimshome/log/stat/class.geoloc
  45.     !distribute item $data into town,nb,X,Y
  46.     !if $nb>1
  47.       !let r=0.001
  48.     !else
  49.       !let r=0
  50.     !endif
  51.     !for j=1 to $nb
  52.       markers.addLayer(L.marker([$[$X+$r*cos($j*3.14/4)],$[$Y+$r*sin($j*3.14/4)]],{icon: ClassIcon}).bindPopup("$town"));
  53.       !if . notin $[$j/8]
  54.         !let r=$[$r+0.001]
  55.       !endif
  56.     !next j
  57.   !next k
  58.   !if $serverloc=1
  59.     !let data=!record -1 of wimshome/log/stat/class.geoloc
  60.     !distribute item $data into town,nb,X,Y
  61.     !if ($Xserver=$X and $Yserver=$Y) or $nb>1
  62.       !let r=0.001
  63.     !else
  64.       !let r=0
  65.     !endif
  66.     !for j=1 to $nb
  67.       markers.addLayer(L.marker([$[$X+$r*cos($j*3.14/4)],$[$Y+$r*sin($j*3.14/4)]],{icon: ClassIcon}).bindPopup("$town"));
  68.       !if . notin $[$j/8]
  69.         !let r=$[$r+0.001]
  70.       !endif
  71.     !next j
  72.     map.addLayer(markers);
  73.     L.marker([$Xserver,$Yserver],{icon: ServerIcon}).addTo(map);
  74.   !else
  75.     map.addLayer(markers);
  76.   !endif
  77. </script>
  78.