changeset 129:d573bb2d9e9f gmap2

Various cleanups.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 09 Mar 2014 13:03:00 +0200
parents 37c4d1f16258
children a2dab3b3d8e6
files map.js markers.js
diffstat 2 files changed, 91 insertions(+), 76 deletions(-) [+]
line wrap: on
line diff
--- a/map.js	Sun Mar 09 12:53:03 2014 +0200
+++ b/map.js	Sun Mar 09 13:03:00 2014 +0200
@@ -1,10 +1,4 @@
 // $Id: map.js 2404 2009-12-24 20:01:32Z jeskko $
-var markertypes = [
-  ["Guilds",    "guild"],
-  ["PCities",   "pcity"],
-  ["Shrines",   "shrine"],
-  ["Areas",     "default"],
-];
 
 var map = new GMap2(document.getElementById("map"),{draggableCursor: 'crosshair', draggingCursor: 'pointer'});
 map.enableContinuousZoom();
--- a/markers.js	Sun Mar 09 12:53:03 2014 +0200
+++ b/markers.js	Sun Mar 09 13:03:00 2014 +0200
@@ -1,50 +1,67 @@
 // $Id: markers.js 2284 2009-09-21 12:47:20Z jeskko $
-var mgr = new GMarkerManager(map);
-var areas = [];
-var tlane = [];
-var gmarkers = [];
-var mi = 0;
-var bi = 0;
-var builtin_data = [];
-var side_builtin_html = "";
+//
+// List of marker types
+//
+var pmap_markertypes =
+[
+  ["Guilds",    "guild"],
+  ["PCities",   "pcity"],
+  ["Shrines",   "shrine"],
+  ["Areas",     "default"],
+];
 
 
-function myclick(i)
+
+var mgr = new GMarkerManager(map);
+var pmap_areas = [];
+var pmap_markers = [];
+var pmap_mindex = 0;
+var pmap_bindex = 0;
+var pmap_builtin = [];
+var pmap_side_builtin_html = "";
+
+
+function pmapMyClick(i)
 {
-  b = gmarkers[i];
-  map.panTo(b);
+  map.panTo(pmap_markers[i]);
 }
 
 
-function createMarker(point,name,html,icon,type,continent,sidebar)
+function pmapCreateMarker(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[mi] = point;
+
+  pmap_markers[pmap_mindex] = point;
+
   if (sidebar == "builtin")
   {
-    builtin_data[bi] = new Array(2);
-    builtin_data[bi][0] = type;
-    builtin_data[bi][1] = continent;
-    side_builtin_html += '<div class="'+continent+'" id="marker'+bi+'"><a href="javascript:myclick(' + mi + ')">' + name + '</a></div>';
-    bi++;
+    pmap_builtin[pmap_bindex] = new Array(2);
+    pmap_builtin[pmap_bindex][0] = type;
+    pmap_builtin[pmap_bindex][1] = continent;
+    pmap_side_builtin_html += '<div class="'+continent+'" id="marker'+pmap_bindex+'"><a href="javascript:pmapMyClick('+ pmap_mindex +')">' + name + '</a></div>';
+    pmap_bindex++;
   }
 
-  if (sidebar == "private") side_private_html += '<a href="javascript:myclick(' + mi + ')">' + name + '</a><br>';
-  if (sidebar == "public") side_public_html += '<a href="javascript:myclick(' + mi + ')">' + name + '</a><br>';
+  if (sidebar == "private") side_private_html += '<a href="javascript:pmapMyClick(' + pmap_mindex + ')">' + name + '</a><br>';
+  if (sidebar == "public") side_public_html += '<a href="javascript:pmapMyClick(' + pmap_mindex + ')">' + name + '</a><br>';
 
-  mi++;
+  pmap_mindex++;
   return marker;
 }
 
 
+//
+// Parse markers from XML
+//
 GDownloadUrl("markers.xml", function(data,responseCode)
 {
   var xml = GXml.parse(data);
   var markers = xml.documentElement.getElementsByTagName("marker");
+  pmap_side_builtin_html = "";
 
   for (var nid = 0; nid < markers.length; nid++)
   {
@@ -57,26 +74,28 @@
     if (name.indexOf('FERRY') == 0) type = "ferry";
     var continent = markers[nid].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);    
+    var marker = pmapCreateMarker(p, name, html, icons[type], type, continent, "builtin");
+    if (pmap_areas[type] == undefined) pmap_areas[type] = [];
+    pmap_areas[type].push(marker);    
   }
 
-  mgr.addMarkers(areas["default"], 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.addMarkers(pmap_areas["default"], 7, 11);
+  mgr.addMarkers(pmap_areas["guild"],   6, 11);
+  mgr.addMarkers(pmap_areas["shrine"],  7, 11);
+  mgr.addMarkers(pmap_areas["ferry"],   4, 11);
+  mgr.addMarkers(pmap_areas["city"],    4, 11);
 
-  mgr.addMarkers(areas["pcity"],   8, 11);
-  mgr.addMarkers(areas["fort"],    8, 11);
+  mgr.addMarkers(pmap_areas["pcity"],   8, 11);
+  mgr.addMarkers(pmap_areas["fort"],    8, 11);
   mgr.refresh();
 
-  document.getElementById("sidecontent").innerHTML = side_builtin_html;
+  document.getElementById("sidecontent").innerHTML = pmap_side_builtin_html;
 });
 
 
-// Create tradelane markers
+//
+// Parse tradelane markers from another XML
+//
 GDownloadUrl("tradelane.xml", function(data,responseCode)
 {
   var xml = GXml.parse(data);
@@ -92,17 +111,19 @@
     if (type == "") type = "default";
     var continent = markers[id].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, "tradelane");
-    if (areas[type] == undefined) areas[type] = [];
-    areas[type].push(marker);
+    var marker = pmapCreateMarker(p, name, html, icons[type], type, continent, "tradelane");
+    if (pmap_areas[type] == undefined) pmap_areas[type] = [];
+    pmap_areas[type].push(marker);
   }
 
-  mgr.addMarkers(areas["tradelane"], 5, 11);
+  mgr.addMarkers(pmap_areas["tradelane"], 5, 11);
   mgr.refresh();
 });
 
 
+//
 // Create GMap polylines from tradelane line data
+//
 GDownloadUrl("troverlay.xml", function(data,responseCode)
 {
   // Parse fetched XML
@@ -130,59 +151,59 @@
 });
 
 
-/*
- * Menu code
- */
+//
+// Menu code
+//
 var markerVisStates = [];
 
-function setVisState(c, show)
+function pmapSetVisState(c, show)
 {
   markerVisStates[c] = show;
   document.getElementById("sp" + c).style.background = show ? "white" : "red";
 }
 
 
-function updateVisible()
+function pmapUpdateVisible()
 {
-  for (var i = 0; i < builtin_data.length; i++)
+  for (var i = 0; i < pmap_builtin.length; i++)
   {
-    var show = markerVisStates[builtin_data[i][0]] && markerVisStates[builtin_data[i][1]];
+    var show = markerVisStates[pmap_builtin[i][0]] && markerVisStates[pmap_builtin[i][1]];
     document.getElementById("marker" + i).style.display = show ? "block" : "none";
   }
 }
 
 
-function setVisContinent(c, show)
+function pmapSetVisContinent(c, show)
 {
-  setVisState(c, show);
+  pmapSetVisState(c, show);
   if (c == "all_c")
   {
     for (var i = 0; i < continents.length; i++)
     {
       var q = continents[i];
       if (q != null)
-        setVisState(q[0], show);
+        pmapSetVisState(q[0], show);
     }
   }
 }
 
 
-function setVisType(c, show)
+function pmapSetVisType(c, show)
 {
-  setVisState(c, show);
+  pmapSetVisState(c, show);
   if (c == "all_t")
   {
-    for (var i = 0; i < markertypes.length; i++)
+    for (var i = 0; i < pmap_markertypes.length; i++)
     {
-      var q = markertypes[i];
+      var q = pmap_markertypes[i];
       if (q != null)
-        setVisState(q[1], show);
+        pmapSetVisState(q[1], show);
     }
   }
 }
 
 
-function toggleVisContinent(c)
+function pmapToggleVisContinent(c)
 {
   var first = false;
 
@@ -192,30 +213,30 @@
     {
       var q = continents[i];
       if (q != null)
-        if (markerVisStates[builtin_data[i][0]])
+        if (markerVisStates[pmap_builtin[i][0]])
         first = true;
     }
 
     if (first)
     {
-      setVisContinent("all_c", false);
-      setVisContinent(c, true);
+      pmapSetVisContinent("all_c", false);
+      pmapSetVisContinent(c, true);
     }
   }
 
   if (!first)
   {
-    setVisContinent(c, !markerVisStates[c]);
+    pmapSetVisContinent(c, !markerVisStates[c]);
   }
 
-  updateVisible();
+  pmapUpdateVisible();
 }
 
 
-function toggleVisType(c)
+function pmapToggleVisType(c)
 {
-  setVisType(c, !markerVisStates[c]);
-  updateVisible();
+  pmapSetVisType(c, !markerVisStates[c]);
+  pmapUpdateVisible();
 }
 
 
@@ -228,33 +249,33 @@
   if (q != null)
   {
     var c = q[0];
-    str += "<span id=\"sp"+c+"\"><a href=\"javascript:toggleVisContinent('"+c+"')\">"+c+"</a></span>\n";
+    str += "<span id=\"sp"+c+"\"><a href=\"javascript:pmapToggleVisContinent('"+c+"')\">"+c+"</a></span>\n";
     if (n == 2) str += "<br />\n";
     n++;
   }
 }	
 
-str += "<span id=\"spall_c\"><a href=\"javascript:toggleVisContinent('all_c')\">All</a></span>\n";
+str += "<span id=\"spall_c\"><a href=\"javascript:pmapToggleVisContinent('all_c')\">All</a></span>\n";
 
 str += "<br /><br />\n";
 
 n = 0;
-for (var i = 0; i < markertypes.length; i++)
+for (var i = 0; i < pmap_markertypes.length; i++)
 {
-  var q = markertypes[i];
+  var q = pmap_markertypes[i];
   if (q != null)
   {
     var c = q[1];
-    str += "<span id=\"sp"+c+"\"><a href=\"javascript:toggleVisType('"+c+"')\">"+markertypes[i][0]+"</a></span>\n";
+    str += "<span id=\"sp"+c+"\"><a href=\"javascript:pmapToggleVisType('"+c+"')\">"+pmap_markertypes[i][0]+"</a></span>\n";
     if (n == 2) str += "<br />\n";
     n++;
   }
 }	
 
-str += "<span id=\"spall_t\"><a href=\"javascript:toggleVisType('all_t')\">All</a></span>\n";
+str += "<span id=\"spall_t\"><a href=\"javascript:pmapToggleVisType('all_t')\">All</a></span>\n";
 
 document.getElementById("controls").innerHTML = str;
 
-setVisContinent("all_c", true);
-setVisType("all_t", true);
-updateVisible();
+pmapSetVisContinent("all_c", true);
+pmapSetVisType("all_t", true);
+pmapUpdateVisible();