Subversion Repositories wimsdev

Rev

Rev 17180 | 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], 9);
  22.   L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', {
  23.     attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
  24.     maxZoom: 18,
  25.     tileSize: 512,
  26.     zoomOffset: -1
  27.   }).addTo(map);
  28.  
  29.   var LeafIcon = L.Icon.extend({
  30.   options: {
  31.     iconSize:     [12, 39],
  32.     shadowSize:   [30, 41],
  33.     iconAnchor:   [7, 39],
  34.     shadowAnchor: [5, 39],
  35.     popupAnchor:  [0, -39]
  36.     }
  37.     });
  38.   //var ClassIcon = new LeafIcon({iconUrl: 'gifs/svg/iconeserver.svg'});
  39.   var ServerIcon = new LeafIcon({iconUrl: 'gifs/svg/iconeserver.svg'});
  40.  
  41.   var markers = L.markerClusterGroup();
  42.   !for k=1 to $[$nbclass-$serverloc]
  43.     !let data=!record $k of wimshome/log/stat/class.geoloc
  44.     !distribute item $data into town,nb,X,Y
  45.     !if $nb>1
  46.       !let r=0.001
  47.     !else
  48.       !let r=0
  49.     !endif
  50.     !for j=1 to $nb
  51.       markers.addLayer(L.marker([$[$X+$r*cos($j*3.14/4)],$[$Y+$r*sin($j*3.14/4)]]).bindPopup("$town"));
  52.       !if . notin $[$j/8]
  53.         !let r=$[$r+0.001]
  54.       !endif
  55.     !next j
  56.   !next k
  57.   !if $serverloc=1
  58.     !let data=!record -1 of wimshome/log/stat/class.geoloc
  59.     !distribute item $data into town,nb,X,Y
  60.     !if ($Xserver=$X and $Yserver=$Y) or $nb>1
  61.       !let r=0.001
  62.     !else
  63.       !let r=0
  64.     !endif
  65.     !for j=1 to $nb
  66.       markers.addLayer(L.marker([$[$X+$r*cos($j*3.14/4)],$[$Y+$r*sin($j*3.14/4)]]).bindPopup("$town"));
  67.       !if . notin $[$j/8]
  68.         !let r=$[$r+0.001]
  69.       !endif
  70.     !next j
  71.     map.addLayer(markers);
  72.     L.marker([$Xserver,$Yserver],{icon: ServerIcon}).bindPopup("WIMS $httpd_HTTP_HOST").addTo(map);
  73.   !else
  74.     map.addLayer(markers);
  75.   !endif
  76. </script>
  77.