PHmap

by SwampFall

HTML

<script src="https://cdn.rawgit.com/svgdotjs/svg.js/ceaf24d5/dist/svg.min.js"></script>
Username: <form autocomplete="off"><div class="autocomplete" style="width:150px;"><input id="searchUser" auto type="text" style="width: 150px;" value="" placeholder="Type username"/></div></form> Depth: <input id="searchDepth" type="number" style="width: 50px;" min="1" max="9" value="1"/>
<input type="submit" onclick="search()" value="Search"/>
<svg id="svgc" viewBox="0 0 10000 6500" width="100vw" height="90vh">
  <linearGradient id="grad" gradientTransform="matrix(0.3420201433256688,0.9396926207859083,-0.9396926207859083,0.3420201433256688,0,0)"><stop stop-color="#276bb1" offset="0.3"></stop><stop stop-color="#e1462e" offset="0.5"></stop><stop stop-color="#e1462e" offset="0.8"></stop><stop stop-color="#25cc26" offset="1"></stop></linearGradient>
  <rect id="SvgjsRect1011" width="100%" height="100%" fill="url(#grad)"></rect>
  <svg id="svgLinks">
    
  </svg>
  <svg id="svg">
    
  </svg>
</svg>

CSS

body, html {
  margin:0;
  padding:0;
  font-family: "Verdana";
}

form {
  display: inline;
}

* {
  box-sizing: border-box;
}
body {
  font: 16px Arial;  
}
.autocomplete {
  /*the container must be positioned relative:*/
  position: relative;
  display: inline-block;
}
input {
  border: 1px solid transparent;
  background-color: #f1f1f1;
  padding: 10px;
  font-size: 16px;
}
input[type=text] {
  background-color: #f1f1f1;
  width: 100%;
}
input[type=submit] {
  background-color: DodgerBlue;
  color: #fff;
  cursor: pointer;
}
.autocomplete-items {
  position: absolute;
  border: 1px solid #d4d4d4;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  /*position the autocomplete items to be the same width as the container:*/
  top: 100%;
  left: 0;
  right: 0;
}
.autocomplete-items div {
  padding: 10px;
  cursor: pointer;
  background-color: #fff; 
  border-bottom: 1px solid #d4d4d4; 
}
.autocomplete-items div:hover {
  /*when hovering an item:*/
  background-color: #e9e9e9; 
}
.autocomplete-active {
  /*when navigating through the items using the arrow keys:*/
  background-color: DodgerBlue !important; 
  color: #ffffff; 
}

JavaScript

let width = $(window).width() / $(window).height();
let height = $(window).height() / $(window).width();

function setViewbox(w, h) {
	document.getElementById("svgc").setAttribute("viewBox", "0 0 " + w + " " + h);
}

setViewbox(width, height);

let userids =...