

var _map = null; // ProAtlasMapCtrlインスタンス
var _maps = null; // POI操作クラス（MapsvrCtrl）インスタンス
var iconUrl = '/shared/system/images/maps/icon-map-arrow-self.gif';	// アイコンのURL
var laynum = 5;	//レイヤー深度

var commentAry = new Array("安城市役所");
var targetLatAry = new Array('34.95544057746517');
var targetLonAry = new Array('137.08333071960365');
//安城駅
var lineLat1Ary = new Array('34.956331052141','34.955158110042944','34.957048800852576','34.9551398863048','34.95544057746517');
var lineLon1Ary = new Array('137.09016812055023','137.0892118495381','137.08555420918188','137.08401444264902','137.08333071960365');
//南安城駅
var lineLat2Ary = new Array('34.94879529872325','34.94831233080802','34.949615426400904','34.95155636255245','34.952285340784925','34.95343346835528','34.95460891563594','34.95544057746517');
var lineLon2Ary = new Array('137.09513761975745','137.0950597976222','137.0909241070063','137.08651048019288','137.0849429200402','137.0829528968676','137.08360882629313','137.08333071960365');
//三河安城駅
var lineLat3Ary = new Array('34.96560627614555','34.964326211902616','34.95954287672252','34.95701898544574','34.9551398863048','34.95544057746517');
var lineLon3Ary = new Array('137.06396429587005','137.0653539768564','137.07995118593845','137.08553214477993','137.08401444264902','137.08333071960365');



//Load時の処理
function alpsAspOnload() {
	//初期表示位置オブジェクト
	var defpos = new Object();
	defpos.pos = new LLPoint('34.95544057746517,137.08333071960365');	// 初期表示位置
	defpos.layerId = laynum; 									// 初期表示縮尺ID
	
	//ProAtlasMapCtrlインスタンスに各コントローラを追加する
	_map = AlpsMapUtil.createMapCtrl('map', defpos);		 // メインマップ
//	AlpsMapUtil.createSubMap(_map);							 // サブマップ
	AlpsMapUtil.setLayerCtrlUI(_map, new SliderLayerCtrlUI()); // レイヤーコントローラ
	AlpsMapUtil.createScalebar(_map);						 // スケールバー
//	AlpsMapUtil.createUrlbox(_map,'copy_url'); 				 // URLボックスの生成

	//操作系
	_map.setEnableWheelOperation(false);					//マウスホイール操作設定
	_map.setEnableKeyboardOperation(false);					//キーボード操作設定
	
	//地図操作クラス（ProAtlasMapCtrl）インスタンスの作成
	_maps = AlpsMapUtil.createMapsvrCtrl(_map);
	AlpsPOIUtil.setBalloonPopup();
	
//	_map.setVisibleCenterMark(false);
	_map.setDatum('WSG84');
	
	//POPUP用 カテゴリ作成
	var catID = '1';
	AlpsPOIUtil.createCategory(_maps, catID, 'icon1', iconUrl, 24);
	
	//POI作成
	for(var i = 0 ; i<commentAry.length ; i++){
		setPOI('busstop'+i,commentAry[i],targetLatAry[i],targetLonAry[i],catID);
	}
	
	AlpsEvent.addEvent(_map,"mapMoved",moved);
}







//=========================ルート移動===============================================
//____________________________________________________________ 移動
var nowPos = 0;
var keiroFlg = false;
var targetCornerLatAry = new Array();
var targetCornerLonAry = new Array();
function moved(){
	//③駅から市役所へ動く処理
	if(keiroFlg){
		if(nowPos < targetCornerLatAry.length){
			nowPos++;
			gotoCorner(targetCornerLatAry,targetCornerLonAry);
		}else{
			keiroFlg = false;
		}
	}
}
function gotoCorner(){
	var pos = new LLPoint(targetCornerLatAry[nowPos-1],targetCornerLonAry[nowPos-1]);
	_map.smoothMoveTo(pos);
}


//____________________________________________________________________ 駅へ移動
var moveingFlg2 = false;
function toEki(sf){
	//①駅へ移動する処理
	keiroFlg = true;
	nowPos = 0;
	stationFlg = sf;
	var staName = "";
	
	if(stationFlg == 1){
		var pos = new LLPoint(lineLat1Ary[0],lineLon1Ary[0]);
		targetCornerLatAry = lineLat1Ary;
		targetCornerLonAry = lineLon1Ary;
		staName = "安城駅";
	}else if(stationFlg == 2){
		var pos = new LLPoint(lineLat2Ary[0],lineLon2Ary[0]);
		targetCornerLatAry = lineLat2Ary;
		targetCornerLonAry = lineLon2Ary;
		staName = "南安城駅";
	}else if(stationFlg == 3){
		var pos = new LLPoint(lineLat3Ary[0],lineLon3Ary[0]);
		targetCornerLatAry = lineLat3Ary;
		targetCornerLonAry = lineLon3Ary;
		staName = "三河安城駅";
	}
	setPOI('station',staName,targetCornerLatAry[0],targetCornerLonAry[0],1);
	setLine(targetCornerLatAry,targetCornerLonAry,sf);
	_map.smoothMoveTo(pos);
}
var line
function setLine(aryLat,aryLon,n){
	//②-1 ラインを引く
	_map.smoothLayerTo(3);
	//Line用 カテゴリ作成
	AlpsSHAPEUtil.createCategory(_maps, 'genre1', 'lineg1', 'line');
	// 作成したジャンルのスタイルを設定
	AlpsSHAPEUtil.setCategoryStyle(_maps, 'genre1', 0, 'FF0000:0.5:5');
	var lpos = new Array();
	for(var i=0;i<aryLat.length;i++){
		lpos.push(''+aryLat[i]+','+aryLon[i]+'');
	}
	line = AlpsSHAPEUtil.createLine('l1', 'line1', lpos, 'genre1');
	_maps.addContents(line);
}
function changeLayer2(){
	//②-2 駅へ移動後の処理
	keiroFlg = true;
	nowPos = 1;
	if(moveingFlg2){
		_map.smoothLayerTo(laynum);
		if(stationFlg == 1){
			targetCornerLatAry = lineLat1Ary;
			targetCornerLonAry = lineLon1Ary;
		}else if(stationFlg == 2){
			targetCornerLonAry = lineLat2Ary;
			targetCornerLonAry = lineLon2Ary;
		}
		AlpsEvent.addEvent(_map,"layerChanged",moved);
		moveingFlg2 = false;
	}
}






//=========================表示範囲変更===============================================
//____________________________________________________________________ 地名に移動ボタン
var moveingFlg = false;
var stationFlg = 1;
function goAnjo(n){
	moveingFlg = true;
	//Lineの削除
	_maps.removeContents('l1');
	_maps.removeContents('station');
	
	var pos = new LLPoint(targetLatAry[0],targetLonAry[0]);
	_map.smoothMoveTo(pos);
	laynum = n;
	AlpsEvent.addEvent(_map,"mapMoved",changeLayer);
}
function changeLayer(){
	if(moveingFlg){
		_map.smoothLayerTo(laynum);
	}
	moveingFlg = false;
}














//=========================Function===============================================
//_____________________________________________________________ POI設定
function setPOI(name,comment,lat,lon,catID){
	var tag = '<p>'+comment+'</p>';
	pos = lat+','+lon;
	var poi = AlpsPOIUtil.createPOI(name, tag, pos, catID);
	_maps.addContents(poi);
	
	AlpsPOIUtil.setIconImg(poi, iconUrl, 25, 0);
}


//=========================Init===============================================
//__________________________________________ onload
AlpsMapUtil.callAlpsOnload();











