// 変数宣言 var map; var selectedLiId = -1; /** * マップ初期化処理 */ function jsInitMap(){ // マップ初期化 try { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); }else{ return; } } catch(e) { // GoogleMapAPIが死んでる alert('GoogleMapAPIで障害が発生しています。\n回復までしばらくお待ちください。'); return; } // マップ初期表示位置設定 var x = 135.400947; var y = 34.784306; var gpoint = new GLatLng(y, x); map.setCenter(gpoint); // マップズームレベル設定 var zoomlevel = 14; map.setZoom(zoomlevel); // マップ表示タイプ設定 map.setMapType(G_NORMAL_MAP); // コントロールのセット map.addControl(new GMapTypeControl()); map.addControl(new GLargeMapControl()); map.addControl(new GScaleControl()); map.addControl(new GOverviewMapControl(new GSize(150,150))); // ハンドラーセット new GKeyboardHandler(map); // ホイールイベントセット // if (navigator.userAgent.match("Safari")){ // document.getElementById("map").onmousewheel = jsMouseZoom; // } else if (navigator.userAgent.match("Gecko")){ // document.getElementById("map").addEventListener("DOMMouseScroll", jsMouseZoom, false); // } else { // document.getElementById("map").attachEvent("onmousewheel", jsMouseZoom); // } // 初期表示用 jsMoveInitMap(); } // 初期表示用 function jsMoveInitMap(){ var paramStyle = "1"; var spotIdFlag = "1"; var spotTypeIdFlag = ""; if(paramStyle == 1 && spotIdFlag == "1"){ // リクエストパラメータに施設種別と施設が存在する時 jsChangeSpotType("8", "34.784306", "135.400947", "13", "gmap_spottype_8", "init", "5599"); }else if(paramStyle == 2 && spotTypeIdFlag == "1"){ // リクエストパラメータに施設種別だけ存在する時 jsChangeSpotType("8", "34.784306", "135.400947", "13", "gmap_spottype_8"); }else { // リクエストパラメータが存在しない時 jsChangeSpotType("2", "34.784306", "135.400947", "15", "gmap_spottype_2", "init"); } } // ホイールイベント function jsMouseZoom(event) { var delta = event.wheelDelta; if ( navigator.userAgent.match("MSIE") || navigator.userAgent.match("Safari")) { delta = event.wheelDelta; event.returnValue = false; } else { delta = event.detail * -1; event.preventDefault(); } if(delta > 0){ zoomlevel = 1; }else{ zoomlevel = -1; } map.setZoom(map.getZoom() + zoomlevel); } // 1.施設種別の地点へ移動 // 2.選択した施設種別の背景色の設定 // 3.施設リストを更新 var jsHttpObj; // 地図初期化のフラグ var jsinitFlag; // リクエストからspotId var jsSpotId; function jsChangeSpotType(spotTypeId, latitude, longitude, scale, liId, initFlag, spotId) { jsinitFlag = initFlag; jsSpotId = spotId; selectedSpotLiId = -1; // 1.施設種別の地点へ移動 jsChangeMap(latitude, longitude, scale); // 2.選択した施設種別の背景色の設定 var obj = document.getElementById(liId); if( obj != null ) { if( liId != selectedLiId) { // 選択処理 obj.className = "gmap_li_select"; if( selectedLiId != -1 ) { // 前回選択を解除 obj = document.getElementById(selectedLiId); if( obj != null ) { obj.className = "gmap_li_normal"; } } selectedLiId = liId; } } var url = ("/Gmap_map_spot_list.php"); url = url + "?spotTypeId=" + spotTypeId + "&revision=0"; // 3.施設リストを更新 jsShowLoading(); var jsHttpObj = new Ajax.Request( url, { method: 'get', asynchronous: true, onSuccess: function (req) { jsGetJsonSpotData(req); // ロード完了のコールバックメソッド }, onFailure: jsonError // エラー時のコールバックメソッド } ); jsCloseLoading(); } // データの取得 var jsonSpotData = ""; function jsGetJsonSpotData(request){ jsonSpotData = eval('(' + request.responseText + ')'); var i; var spotListInnerHtml = ""; for (i=0; i" + "" + "" + jsonSpotData[i].spotName + ""; } document.getElementById('gmap_spot_list_c').innerHTML = spotListInnerHtml; jsClearMarker(); jsAddMarker(jsonSpotData); if( jsinitFlag != undefined ){ jsMoveSpotInitMap(); jsinitFlag = undefined; } jsCloseLoading(); } // 施設初期表示用 function jsMoveSpotInitMap(){ if(jsSpotId != undefined){ // リクエストからの時 var spotIdIndex = 0; for (i=0; i[詳細...]"; } // 住所の半角スペースを
に変換する var strtmpAddress = spotData.spotAddress; // 半角スペースを
に strtmpAddress = strtmpAddress.split(" "); strtmpAddress = strtmpAddress.join("
"); // 情報作成 infoHtml = "" + spotData.spotName + "
" + "" + tmpPostNum + " " + strtmpAddress + "
" + "" + tmpTel + "
" + "" + infoDetailLinkHtml + ""; return infoHtml; } // 施設をクリックしたら、情報ウインドウを表示 function jsSpotDetails(spotData){ if(spotData.spotName != undefined){ // マーカーの設置、情報ウインドウのセット jsSetSpot(spotData); // クリックイベントのtrigger GEvent.trigger(marker,"click"); } }