Mercurial > hg > batmud > gmap2
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
--- /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; + } +}
--- /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 .