Added control box to show/hide markers/spawns

This commit is contained in:
fescen9 2010-12-06 02:36:53 +00:00
parent e61997183c
commit b05fde203e
3 changed files with 130 additions and 49 deletions

View File

@ -1,25 +1,32 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Minecraft Dynamic Map" /> <meta name="description" content="Minecraft Dynamic Map" />
<meta name="keywords" content="minecraft, map, dynamic" /> <meta name="keywords" content="minecraft, map, dynamic" />
<meta name="language" content="en"/> <meta name="language" content="en"/>
<title> <title>
Minecraft Dynamic Map Minecraft Dynamic Map
</title> </title>
<link rel="shortcut icon" href="follow_off.png" type="image/png" /> <link rel="shortcut icon" href="follow_off.png" type="image/png" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" /> <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="map.js" ></script> <script type="text/javascript" src="map.js" ></script>
</head> </head>
<!-- <body onload="initialize()"> --> <body>
<body> <div id="mcmap"></div>
<div id="mcmap"></div> <div id="plist"><img id="plistbtn" alt="on" src="list_on.png" onclick="plistopen()" title="Player list" />
<div id="plist"><img id="plistbtn" alt="on" src="list_on.png" onclick="plistopen()" /> <div id="lst">[Connecting]</div>
<div id="lst">[Connecting]</div> </div>
</div> <div id="controls">
<div id="link"></div> <form action="#" method="get">
</body> <img src="watch.png" alt="warps" title="Warps" />
</html> <input type="checkbox" checked="checked" id="showWarps" /><br />
<img src="sign.png" alt="marker" title="Markers" />
<input type="checkbox" checked="checked" id="showMarkers" />
</form>
</div>
<div id="link"></div>
</body>
</html>

View File

@ -553,6 +553,8 @@ function makeRequest(url, func, type, fail, post, contenttype)
makeRequest(config.updateUrl + lasttimestamp, function(res) { makeRequest(config.updateUrl + lasttimestamp, function(res) {
var rows = res.split('\n'); var rows = res.split('\n');
var loggedin = new Array(); var loggedin = new Array();
var showWarps = document.getElementById('showWarps').checked;
var showMarkers = document.getElementById('showMarkers').checked;
lasttimestamp = rows[0]; lasttimestamp = rows[0];
delete rows[0]; delete rows[0];
@ -592,33 +594,75 @@ function makeRequest(url, func, type, fail, post, contenttype)
markers[p[0]] = marker; markers[p[0]] = marker;
} }
} else if(p.length == 6) { } else if(p.length == 6) {
if(p[0] in markers) { if (p[1] == 'warp')
var m = markers[p[0]]; {
var converted = fromWorldToLatLng(p[3], p[4], p[5]); if(p[0] in markers) {
m.setPosition(converted); var m = markers[p[0]];
} else {
var image = 'sign.png'; if (showWarps == false) {
m.setMap(null);
if (p[1] == 'warp') continue;
image = 'watch.png'; }
else if (p[1] == 'home') else if (m.map == null) {
image = 'list_on.png'; m.setMap(map);
else if (p[1] == 'spawn') }
image = 'list_on.png';
var converted = fromWorldToLatLng(p[3], p[4], p[5]);
var converted = fromWorldToLatLng(p[3], p[4], p[5]); m.setPosition(converted);
var marker = new MarkerWithLabel({ } else {
position: converted, if (showWarps == false) {
map: map, continue;
labelContent: p[0], }
labelAnchor: new google.maps.Point(-14, 10),
labelClass: "labels",
clickable: false,
flat: true,
icon: new google.maps.MarkerImage(image, new google.maps.Size(28, 28), new google.maps.Point(0, 0), new google.maps.Point(14, 14))
});
markers[p[0]] = marker; var converted = fromWorldToLatLng(p[3], p[4], p[5]);
var marker = new MarkerWithLabel({
position: converted,
map: map,
labelContent: p[0],
labelAnchor: new google.maps.Point(-14, 10),
labelClass: "labels",
clickable: false,
flat: true,
icon: new google.maps.MarkerImage('watch.png', new google.maps.Size(28, 28), new google.maps.Point(0, 0), new google.maps.Point(14, 14))
});
markers[p[0]] = marker;
}
}
else if (p[1] == 'marker')
{
if(p[0] in markers) {
var m = markers[p[0]];
if (showMarkers == false) {
m.setMap(null);
continue;
}
else if (m.map == null) {
m.setMap(map);
}
var converted = fromWorldToLatLng(p[3], p[4], p[5]);
m.setPosition(converted);
} else {
if (showMarkers == false) {
continue;
}
var converted = fromWorldToLatLng(p[3], p[4], p[5]);
var marker = new MarkerWithLabel({
position: converted,
map: map,
labelContent: p[0],
labelAnchor: new google.maps.Point(-14, 10),
labelClass: "labels",
clickable: false,
flat: true,
icon: new google.maps.MarkerImage('sign.png', new google.maps.Size(28, 28), new google.maps.Point(0, 0), new google.maps.Point(14, 14))
});
markers[p[0]] = marker;
}
} }
} else if(p.length == 1) { } else if(p.length == 1) {
lastSeen[p[0]] = lasttimestamp; lastSeen[p[0]] = lasttimestamp;
@ -721,3 +765,16 @@ function makeRequest(url, func, type, fail, post, contenttype)
map.setCenter(markers[name].getPosition()); map.setCenter(markers[name].getPosition());
} }
} }
//remove item (string or number) from an array
function removeItem(originalArray, itemToRemove) {
var j = 0;
while (j < originalArray.length) {
// alert(originalArray[j]);
if (originalArray[j] == itemToRemove) {
originalArray.splice(j, 1);
} else { j++; }
}
// assert('hi');
return originalArray;
}

View File

@ -30,6 +30,22 @@ body { height: 100%; margin: 0px; padding: 0px ; background-color: #000; }
font-size: 8pt; font-size: 8pt;
color: #ddd; color: #ddd;
} }
#controls {
position: absolute;
top: 4px;
left: 30px;
border: 1px solid #808080;
background: #000;
opacity: 0.6;
padding: 2px;
font-size: 8pt;
color: #ddd;
text-align:right;
}
#controls img{
height:14px;
width:14px;
}
a, a:visited { a, a:visited {
color: white; color: white;
text-decoration: none; text-decoration: none;
@ -39,4 +55,5 @@ a, a:visited {
font-family: sans-serif; font-family: sans-serif;
white-space: nowrap; white-space: nowrap;
color: white; color: white;
} display:none;
}