var map;
var spotlink = "";
//---------------------------------------------
//RSS読み込み
//---------------------------------------------
function xmlLoader(url)
{
var mapdata =""
	//読み込み中
	document.getElementById('xmlload').innerHTML = '<p>Loading...</p>'
// JKL.ParseXMLオブジェクトを生成
	var xml = new JKL.ParseXML(url);
// 呼び出し先関数を定義する
	var func = function (mapdata)
	{
//コールバック
		onloaded(mapdata);
	}
// 呼び出し先関数を指定する
	xml.async(func);
// ダウンロード～解析～関数呼び出しする
	xml.parse();
}
//---------------------------------------------
//RSSを受信時に起動するコールバック関数
//---------------------------------------------
function onloaded(xml)
{
	spot_array = new Array;
	for(i in xml.lists.items)
	{
			spot_array[i] = new Array();
			spot_array[i][0] = xml.lists.items[i].name;
			spot_array[i][1] = xml.lists.items[i].lat;
			spot_array[i][2] = xml.lists.items[i].lng;
			spot_array[i][3] = xml.lists.items[i].comment;
			spot_array[i][4] = xml.lists.items[i].tel;
			spot_array[i][5] = xml.lists.items[i].url;
	}
	spot_array_num = i;
	document.getElementById('xmlload').innerHTML = "";
	mapload(spot_array_num);
}
//---------------------------------------------
//googleマップ作成
//---------------------------------------------
function mapload(spot_array_num){
//
	if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("innermap"));
		//map.addControl(new GSmallMapControl());
		map.addControl(new GLargeMapControl());
		//map.addControl(new GMapTypeControl());
		//
		for(var i = 0;i <= spot_array_num; i++){
		var longitude  = spot_array[i][2];//経度
		var latitude  = spot_array[i][1];//緯度
		var msg = makemsg(i);
		//ポイント移動とマーカー表示関数についても変更をすること
		var mypos = new GLatLng(latitude,longitude);
		var myposcenter = new GLatLng(36.6444809203782,138.19033624827385);
        map.setCenter(myposcenter, 16);
		createMarker(mypos,msg);
		movetospot(1);
		milestone();
	}

//document.getElementById('gmapheadermenu').innerHTML = "<span>|</span>" + spotlink;
	}//GBrowserIsCompatible
		//request.send(null);
}//load()


//---------------------------------------------
//道順の表示
//---------------------------------------------
function milestone(){
	var areah = 0.001;
	var areaw = 0.001;
      var points = [];
      points[0] = new GLatLng(36.643019449248605 , 138.1886851787567);
      points[1] = new GLatLng(36.64366508342287 , 138.18835258483887);
      points[2] = new GLatLng(36.643824339020455 , 138.18857789039612);
      points[3] = new GLatLng(36.644151457593516 , 138.1882882118225);
      points[4] = new GLatLng(36.64483151544385 , 138.18930208683014);
      points[5] = new GLatLng(36.646376687858925 , 138.19060027599335);
      points[6] = new GLatLng(36.646617714744394 , 138.19086849689484);
      points[7] = new GLatLng(36.6459850175613 , 138.19173753261566);
      points[8] = new GLatLng(36.64607970726638 , 138.19190382957458);
      var polyline = new GPolyline(points);
      map.addOverlay(polyline);
}

//---------------------------------------------
//htmlメッセージの作成
//---------------------------------------------
function makemsg(num){
		if(!spot_array[num][4]){
		var msg  = "<div id='markermsg'>" + spot_array[num][0] + "<br /></div>";
		}else{
		var msg  = "<div id='markermsg'><img src='../img/forgmap.jpg' alt='' width='75px' height='105px' />" + spot_array[num][0] + "<br />" + spot_array[num][4] + "</div>";
		}
		return msg
}
//---------------------------------------------
//マーカー作成
//---------------------------------------------
function createMarker(point,html) {
		var marker = new GMarker(point);
		map.addOverlay(marker,null,'');//初期表示
		//marker.openInfoWindowHtml(html);//初期表示
		GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
		return marker;
}
//---------------------------------------------
//ポイント移動とマーカー表示関数
//---------------------------------------------
function movetospot(i){
		mi = Number(i);
		var mypos = new GLatLng(spot_array[i][1],spot_array[i][2]);
		nextpoint(mypos);
		var msg = makemsg(i);
		displayMarker(mypos,msg);
}
//---------------------------------------------
//マーカー表示
//---------------------------------------------
function displayMarker(point,html) {
		var marker = new GMarker(point);
		map.addOverlay(marker,null,'');//初期表示
		marker.openInfoWindowHtml(html);//初期表示
		GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
		return marker;
}
//---------------------------------------------
//ポイント移動
//---------------------------------------------
function nextpoint(point){
		map.panTo(point);
}
