view js/markers.js @ 5:903f9077f971 gmap2

marker list, some initial marker json stuff
author jeskko
date Mon, 21 Sep 2009 12:47:20 +0000
parents ab56103cd3b9
children ec4f7f015123
line wrap: on
line source

// $Id$
var mgr = new GMarkerManager(map);
var areas=[];
var tlane=[];
var gmarkers=[];
var mi=0;
var bi=0;
var builtin_type= [];
var builtin_cont= [];
var side_builtin_html="";

function myclick(i) {
  b=gmarkers[i];
  map.panTo(b);
}

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[mi]=point;
  if (sidebar=="builtin") { 
    builtin_type[bi]=type;
    builtin_cont[bi]=continent;
    side_builtin_html += '<span id="marker'+bi+'"><a href="javascript:myclick(' + mi + ')">' + name + '</a><br></span>';
    bi++;
  }
  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>';

  mi++;
  return marker;
}

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();
  document.getElementById("sidecontent").innerHTML=side_builtin_html;
});

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,"tradelane");
    if (areas[type]==undefined) areas[type]=[];
    areas[type].push(marker);    
  }
  mgr.addMarkers(areas["tradelane"],5,11);
  mgr.refresh();
});