﻿window.onload = onLoad;
sourcexml="js/places.xml";
var c_lat=42.522613;
var c_lon=141.103935;
var zoom=12;
var map;

    function onLoad() {
      if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("gmap"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GOverviewMapControl(new GSize(120,120)));
		map.setCenter(new GLatLng(c_lat, c_lon), zoom);

		function grtMarker(point, htmlData){
			var marker = new GMarker(point);
			GEvent.addListener(marker, "click", function(){
			marker.openInfoWindowHtml(htmlData);});
			return marker;
			}

		function setMarker(sourcexml){
			GDownloadUrl(sourcexml, function(data, responseCode){

				var xml = GXml.parse(data);
				var markers = xml.documentElement.getElementsByTagName("place");

					for (var i = 0; i < markers.length; i++)
					{
					var point = new GLatLng(
						parseFloat(markers[i].getAttribute("latitude")),
						parseFloat(markers[i].getAttribute("longitude"))
						);
					var title = xml.documentElement.getElementsByTagName("title")[i].firstChild.nodeValue;
					var address = xml.documentElement.getElementsByTagName("address")[i].firstChild.nodeValue;
					var tel = xml.documentElement.getElementsByTagName("tel")[i].firstChild.nodeValue;
					var link = xml.documentElement.getElementsByTagName("link")[i].firstChild.nodeValue;
					var htmlData = "<p><a href='" + link +"'>" + title + "</a></p>";
					htmlData += "<p>" + address +"</p>";
					htmlData += "<p>" + tel +"</p>";
					map.addOverlay(grtMarker(point, htmlData));
					}

				});
			}

		setMarker(sourcexml);

		}
	}
