changeset 0:f8eeb66cdb07 gmap2

initial commit of new map
author jeskko
date Fri, 29 May 2009 01:42:40 +0000
parents
children 30acd4d3a8ca
files icons.js index.html left.gif map.js mapstyle.css markers.js nav.js right.gif slide.jpg svn-commit.2.tmp svn-commit.3.tmp svn-commit.tmp
diffstat 12 files changed, 335 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icons.js	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,17 @@
+var icon = new GIcon();
+icon.iconSize=new GSize(32,32);
+icon.shadowSize=new GSize(56,32);
+icon.iconAnchor=new GPoint(16,16);
+icon.infoWindowAnchor=new GPoint(16,16); 
+
+var icons=[];
+
+icons["tradelane"]=new GIcon(icon,"http://maps.google.com/mapfiles/kml/pal2/icon13.png","http://maps.google.com/mapfiles/kml/pal2/icon13s.png");
+icons["guild"]=new GIcon(icon,"http://maps.google.com/mapfiles/kml/pal2/icon14.png","http://maps.google.com/mapfiles/kml/pal2/icon14s.png");
+icons["default"]=new GIcon(icon,"http://maps.google.com/mapfiles/ms/micons/blue-pushpin.png","http://maps.google.com/mapfiles/ms/micons/pushpin_shadow.png");
+icons["ferry"]=new GIcon(icon,"http://maps.google.com/mapfiles/ms/micons/sailing.png","http://maps.google.com/mapfiles/ms/micons/sailing.shadow.png");
+icons["default"]=new GIcon(icon,"http://maps.google.com/mapfiles/kml/pal3/icon31.png","http://maps.google.com/mapfiles/kml/pal3/icon31s.png");
+icons["pcity"]=new GIcon(icon,"http://maps.google.com/mapfiles/kml/pal2/icon28.png","http://maps.google.com/mapfiles/kml/pal2/icon28s.png");
+icons["city"]=new GIcon(icon,"http://maps.google.com/mapfiles/kml/pal3/icon21.png","http://maps.google.com/mapfiles/kml/pal3/icon21s.png");
+icons["ss"]=new GIcon(icon,"http://maps.google.com/mapfiles/kml/pal2/icon14.png","http://maps.google.com/mapfiles/kml/pal2/icon14s.png");
+icons["shrine"]=new GIcon(icon,"http://maps.google.com/mapfiles/kml/pal2/icon11.png","http://maps.google.com/mapfiles/kml/pal2/icon11s.png");
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/index.html	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+  <link rel="stylesheet" href="mapstyle.css" type="text/css"/>
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+  <title>BatMUD: The Age of Exiles - Google Maps hack by Jeskko</title>
+  <meta name="description" content="BatMUD - The Age of Exiles -  Google Maps hack by Jeskko"/>
+  <meta name="keywords" content="batmud,map,laenor,lucentium,rothikgen,desolathya,furnachia,mud,mush,moo,online,massively,multiplayer,game,mmorpg,jeskko"/>
+  <script src="http://www.google.com/jsapi?key=ABQIAAAAa_DR_r3EwOOl8N0X5UYTpRT5vuU2luRvev4uq6lWZ9uHTVgpDBTBb2fJ7w0zw8ALH-zJg0IVK4qiBw" type="text/javascript"></script>
+  <script type="text/javascript">
+    google.load("maps","2.x");
+  </script>
+ </head>
+ <body onunload="GUnload()">
+   <div id="header">
+    headeripalikka, menuja jne kakkaa
+   </div>
+   <div id="map">
+   </div>
+   <div id="sidebar">
+   <div id="sidecontent">
+   markkerilista jne
+   </div>
+   </div>
+   <div id="sidecoll">
+    <div id="collbuttondiv">
+     <a href="javascript:docoll()">
+      <img src="right.gif" id="collbutton">
+     </a>
+    </div>
+   </div>
+   <div id="footer">
+    Cursor location: 
+    x: <span id="xcoord">1234</span>
+    y: <span id="ycoord">1234</span>
+    continent: <span id="continent">Laenor</span> 
+   </div>
+  <script type="text/javascript" src="map.js"></script>
+  <script type="text/javascript" src="icons.js"></script>
+  <script type="text/javascript" src="markers.js"></script>
+  <script type="text/javascript" src="nav.js"></script>
+ </body>
+</html>
\ No newline at end of file
Binary file left.gif has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/map.js	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,73 @@
+var map = new GMap2(document.getElementById("map"),{draggableCursor: 'crosshair', draggingCursor: 'pointer'});
+
+map.enableContinuousZoom();
+map.enableScrollWheelZoom();
+map.addControl(new GSmallZoomControl3D());
+
+var copyright = new GCopyright(1,
+	new GLatLngBounds(new GLatLng(-90, -180), 
+	new GLatLng(90, 180)),
+	0, "Map data by BAT ry, Ooga, Ggr, Slobber and Jeskko");
+var cc = new GCopyrightCollection('BatMUD');
+cc.addCopyright(copyright);
+
+var tl = [new GTileLayer(cc, 2, 10),
+	  new GTileLayer(cc, 2, 10)];
+
+tl[0].getTileUrl=function(a,b){ return "/map/tiles/"+(b)+"/"+a.y+"/"+a.x+".png"; }
+tl[1].getTileUrl=function(a,b){ return "/map/overlay.php?x="+a.x+"&y="+a.y+"&zoom="+(b); }
+
+var custommap = new GMapType(tl, new GMercatorProjection(12),"BatMud", {errorMessage:"No data available"});
+map.addMapType(custommap);
+map.setCenter(new GLatLng(-20.2828,16.0620),3,custommap);
+
+var proj=map.getCurrentMapType().getProjection();
+
+google.maps.Event.addListener(map, "mousemove", function(point) {
+  var p=proj.fromLatLngToPixel(point,7);
+  tx=Math.round((p.x-16383)/2)-1;
+  ty=Math.round((p.y-16383)/2)-1;
+  xx=tx;
+  yy=ty;
+  cont="Deep Sea";
+  if (tx>0&&tx<829&&ty>0&&ty<783)
+  {
+    cont="Laenor";
+    xx=tx;
+    yy=ty;
+  }
+  if (tx>1210&&tx<1653&&ty>1154&&ty<1655)
+  {
+    cont="Furnachia";
+    xx=tx-1210;
+    yy=ty-1154;
+  }
+  if (tx>1310&&tx<1792&&ty>-1256&&ty<-774)
+  {
+    cont="Rothikgen";
+    xx=tx-1310;
+    yy=ty-1256;
+  }
+  if (tx>-635&&tx<68&&ty>2344&&ty<2847)
+  {
+    cont="Lucentium";
+    xx=tx+635;
+    yy=ty-2344;
+  }
+  if (tx>-1211&&tx<-669&&ty>819&&ty<1352)
+  {
+    cont="Desolathya";
+    xx=tx+1211;
+    yy=ty-819;
+  }
+  if (tx>2066&&tx<2238&&ty>-912&&ty<-825)
+  {
+    cont="Renardy";
+    xx=tx-2068;
+    yy=ty+910;
+  }
+  document.getElementById("xcoord").innerHTML=xx;
+  document.getElementById("ycoord").innerHTML=yy;
+  document.getElementById("continent").innerHTML=cont;
+});
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mapstyle.css	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,89 @@
+body {
+	background: #acc;
+}
+
+#footer {
+	background: #8aa;
+	position: absolute;
+	bottom: 0px;
+	height: 1.5em;
+	left: 0px;
+	right: 300px;
+	padding-top: 0.25em;
+	padding-left: 0.25em;
+	margin: 0px;
+}
+
+#sidebar {
+	background-color: #8aa;
+	background-image: url(slide.jpg);
+	background-repeat: repeat-x;
+	position: absolute;
+	right: 0px;
+	top: 3em;
+	bottom: 0px;
+	width: 290px;	
+	padding: 0px;
+	margin: 0px;
+
+}
+
+#sidecontent {
+	width: 100%;
+	height: 100%;
+	padding: 0px;
+	margin: 0px;
+}
+
+#sidecoll {
+	width: 8px;
+	position : absolute;
+	right: 290px;
+	top: 3em;
+	bottom: 0px;
+	min-height: 50px;
+	background-color: #8aa;
+	background-repeat: repeat-x; 
+	background-image: url(slide.jpg);
+	padding-left: 1px;
+	padding-right: 1px;
+	padding-top: 0px;
+	padding-bottom: 0px;
+	margin: 0px;
+	}
+
+#collbuttondiv {
+	position: relative; 
+	width: auto;
+	height: 16px;
+	top: 50%;
+	margin-top: -8px;
+	padding: 0px;
+	
+}
+
+#collbutton {
+	border: 0px;
+}
+
+#header {
+	background: #cee;
+	position: absolute;
+	left: 0px;
+	right: 0px;
+	top: 0px;
+	height: 3em;
+	padding-left: 0.25em;
+	padding-top: 0.25em;	
+}
+
+#map {
+	position: absolute;
+	left: 0px;
+	top: 3em;
+	right: 300px;
+	bottom: 1.5em;
+	padding: 0px;
+	margin: 0px;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/markers.js	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,75 @@
+function createMarker(point,name, html,icon,type,continent,sidebar) {
+  var marker = new GMarker(point,{icon:icon});
+  GEvent.addListener(marker,"click",function() {
+    marker.openInfoWindowHtml("<div style=\"color:#000;\">"+html+"</div>");
+  });
+  gmarkers[i]=point;
+  if (sidebar=="builtin") { 
+    builtin_type[bi]=type;
+    builtin_cont[bi]=continent;
+    side_builtin_html += '<span id="marker'+bi+'"><a href="javascript:myclick(' + i + ')">' + name + '</a><br></span>';
+    bi++;
+  }
+  if (sidebar=="private") side_private_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
+  if (sidebar=="public") side_public_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
+
+  i++;
+  return marker;
+}
+
+var mgr = new GMarkerManager(map);
+var areas=[];
+var tlane=[];
+var gmarkers=[];
+var i;
+var bi;
+var builtin_type= [];
+var builtin_cont= [];
+var side_builtin_html;
+
+GDownloadUrl("markers.xml", function(data,responseCode) {
+  var xml = GXml.parse(data);
+  var markers = xml.documentElement.getElementsByTagName("marker");
+  for (var j = 0; j< markers.length; j++) {
+    var name = markers[j].getAttribute("name");
+    var html = markers[j].getAttribute("html");
+    var x = markers[j].getAttribute("x");
+    var y = markers[j].getAttribute("y");
+    var type = markers[j].getAttribute("type");
+    if (type=="") type="default";
+    if (name.indexOf('FERRY')==0) type="ferry";
+    if (name.indexOf('CITY')==0) type="city";
+    var continent=markers[j].getAttribute("continent");
+    var p = proj.fromPixelToLatLng(new GPoint(x*2+1,y*2+1),7);
+    var marker=createMarker(p,name,html,icons[type],type,continent,"builtin");
+    if (areas[type]==undefined) areas[type]=[];
+    areas[type].push(marker);    
+  }
+  mgr.addMarkers(areas["default"],7,11);
+  mgr.addMarkers(areas["pcity"],7,11);
+  mgr.addMarkers(areas["guild"],6,11);
+  mgr.addMarkers(areas["shrine"],7,11);
+  mgr.addMarkers(areas["ferry"],4,11);
+  mgr.addMarkers(areas["city"],4,11);
+  mgr.refresh();
+});
+
+GDownloadUrl("tradelane.xml", function(data,responseCode) {
+  var xml = GXml.parse(data);
+  var markers = xml.documentElement.getElementsByTagName("marker");
+  for (var j = 0; j< markers.length; j++) {
+    var name = markers[j].getAttribute("name");
+    var html = markers[j].getAttribute("html");
+    var x = markers[j].getAttribute("x");
+    var y = markers[j].getAttribute("y");
+    var type = markers[j].getAttribute("type");
+    if (type=="") type="default";
+    var continent=markers[j].getAttribute("continent");
+    var p = proj.fromPixelToLatLng(new GPoint(x*2+1,y*2+1),7);
+    var marker=createMarker(p,name,html,icons[type],type,continent,"builtin");
+    if (areas[type]==undefined) areas[type]=[];
+    areas[type].push(marker);    
+  }
+  mgr.addMarkers(areas["tradelane"],5,11);
+  mgr.refresh();
+});
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nav.js	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,23 @@
+var collapsed=0;
+
+function docoll()
+{
+  if (collapsed==0)
+  {
+    document.getElementById("sidebar").style.display="none";
+    document.getElementById("sidecoll").style.right="0px";
+    document.getElementById("footer").style.right="0px";
+    document.getElementById("map").style.right="8px";
+    document.getElementById("collbutton").src="left.gif";
+    collapsed=1;
+  }
+  else
+  {
+    document.getElementById("sidebar").style.display="";
+    document.getElementById("sidecoll").style.right="290px";
+    document.getElementById("footer").style.right="300px";
+    document.getElementById("map").style.right="300px";
+    document.getElementById("collbutton").src="right.gif";
+    collapsed=0;
+  }
+}
Binary file right.gif has changed
Binary file slide.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svn-commit.2.tmp	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,4 @@
+initial commit of new map system
+--This line, and those below, will be ignored--
+
+A    .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svn-commit.3.tmp	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,4 @@
+initial commit of new map
+--This line, and those below, will be ignored--
+
+A    .
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svn-commit.tmp	Fri May 29 01:42:40 2009 +0000
@@ -0,0 +1,4 @@
+new
+--This line, and those below, will be ignored--
+
+A    .