<?php /* --------------------------------------------------------------------- [Memo] Smarty Object => $smarty Template Vars => $smarty->_tpl_vars Parameter Var => $params [How To] --------------------------------------------------------------------- */ //init ---- $CFG_URL_ROOT = CFG_URL_ROOT; //1st Load Check Proc --------------- if($_GET['cm']==NULL && $_GET['nelat']==NULL ){ //set url $jmp_url = './?nelat=42.9404408997472&nelng=143.2321919261475&swlat=42.89581301969268&swlng=143.17331207385257&clat=42.91812695971994&clng=143.20275200000003&z=14&y1=&y2=&md='; //Output Location Header header("Location: {$jmp_url}"); exit(); } //------------------------------------ //get bukken_build list -- $bukken_room_lst = $smarty->_tpl_vars['Target']; //get param -- $g_nelat = ($smarty->_tpl_vars['nelat']==NULL) ? 0 : $smarty->_tpl_vars['nelat']; $g_nelng = ($smarty->_tpl_vars['nelng']==NULL) ? 0 : $smarty->_tpl_vars['nelng']; $g_swlat = ($smarty->_tpl_vars['swlat']==NULL) ? 0 : $smarty->_tpl_vars['swlat']; $g_swlng = ($smarty->_tpl_vars['swlng']==NULL) ? 0 : $smarty->_tpl_vars['swlng']; $g_clat = ($smarty->_tpl_vars['clat']==NULL) ? 0 : $smarty->_tpl_vars['clat']; $g_clng = ($smarty->_tpl_vars['clng']==NULL) ? 0 : $smarty->_tpl_vars['clng']; $g_z = ($smarty->_tpl_vars['z']==NULL) ? 0 : $smarty->_tpl_vars['z']; echo <<< EOM <script type="text/javascript"> var j$ = jQuery; //map表示変数定義 var map; var mapOptions; var infoWindow; var buildLatlng; var g_nelat = {$g_nelat}; var g_nelng = {$g_nelng}; var g_swlat = {$g_swlat}; var g_swlng = {$g_swlng}; var g_clat = {$g_clat}; var g_clng = {$g_clng}; var g_z = {$g_z}; var mapZoom; var centerPos; var marker_clck_flg = 0; //mapZoom if(g_z==0){ mapZoom = 14; }else{ mapZoom = g_z; } //centerPos if(g_clat==0 && g_clng==0){ centerPos = new google.maps.LatLng(42.918131, 143.202752); }else{ centerPos = new google.maps.LatLng(g_clat, g_clng); } //Googlemap初期化(関数initializeMapは本HTML内に定義) j$(function() { initializeMap(); }); function initializeMap() { mapOptions = { map: ".map_canvas", componentRestrictions: {country:'jp'}, mapTypeId:google.maps.MapTypeId.ROADMAP }; $("#geocomplete").geocomplete(mapOptions); $("#find").click(function(){ $("#geocomplete").trigger("geocode"); }); map = $("#geocomplete").geocomplete("map"); map.setCenter(centerPos); map.setZoom(mapZoom); EOM; //マーカー作成、詳細表示定義 ------------------- for($i=0;$i<count($bukken_room_lst);$i++){ if($bukken_room_lst[$i]['bukken_room_id']!='0'){ echo <<< EOM /* var marker{$poc_area_lst[$i]['areacode']}_{$poc_area_lst[$i]['areaId']}; */ var marker{$bukken_room_lst[$i]['bukken_room_id']}; var build_latitude = {$bukken_room_lst[$i]['bukken_build_latitude']}; var build_longitude = {$bukken_room_lst[$i]['bukken_build_longitude']}; if(build_latitude!="" && build_longitude!=""){ buildLatlng = new google.maps.LatLng({$bukken_room_lst[$i]['bukken_build_latitude']}, {$bukken_room_lst[$i]['bukken_build_longitude']}); //マーカー定義 marker{$bukken_room_lst[$i]['bukken_room_id']} = new google.maps.Marker({ position: buildLatlng, map: map, icon: 'http://chart.apis.google.com/chart?chst=d_bubble_text_small&chld=bb|{$bukken_room_lst[$i]['bukken_room_price']}円|C6EF8C|000000', title:"{$bukkenLatlng[$i]['bukken_room_title']}", }); //マーカークリック時の処理 google.maps.event.addListener(marker{$bukken_room_lst[$i]['bukken_room_id']}, 'click', function(){ //flag on marker_clck_flg = 1; //マップ中心位置移動 //イベントを拾ってしまうので削除[2015.06.28] /* map.panTo(new google.maps.LatLng({$bukken_room_lst[$i]['bukken_build_latitude']}, {$bukken_room_lst[$i]['bukken_build_longitude']})); */ /* 既に開かれていたら閉じる */ if(infoWindow) infoWindow.close(); infoWindow = new google.maps.InfoWindow({ /* クリックしたマーカーのタイトルと緯度・経度を情報ウィンドウに表示 */ content:"<img src=\"../common/datadir/{$bukken_room_lst[$i]['bukken_build_pic1']}\" width=\"100\">"+"<br />"+"<a href=\"./?cm=v&id={$bukken_room_lst[$i]['bukken_room_id']}\">{$bukken_room_lst[$i]['bukken_build_name']}</a>"+"<br />"+"賃料:{$bukken_room_lst[$i]['bukken_room_price']}円" }); infoWindow.open(map, this); }); } EOM; } } //---------------------------------------------- echo <<< EOM //----------------------------------- google.maps.event.addListener(map, 'dragend', function(){ //flag off marker_clck_flg = 0; }) google.maps.event.addListener(map, 'zoom_changed', function(){ //flag off marker_clck_flg = 0; }) google.maps.event.addListener(map, 'idle', function(){ //check flag if(marker_clck_flg==1){ return; } //set point setPointMarker(); }) } //----------------------------------- function fcSearchYachin(){ //search flag on document.form_srchbox2.form_srch_flg.value='1'; //set point setPointMarker(); } function fcSearchMadori(){ //search flag on document.form_srchbox2.form_srch_flg.value='1'; //set point setPointMarker(); } function setPointMarker(){ //地図の範囲内を取得 var bounds = map.getBounds(); var map_nelat = bounds.getNorthEast().lat(); var map_swlat = bounds.getSouthWest().lat(); var map_nelng = bounds.getNorthEast().lng(); var map_swlng = bounds.getSouthWest().lng(); var map_clat = bounds.getCenter().lat(); var map_clng = bounds.getCenter().lng(); var map_zoom = map.getZoom(); var sch_yachin1 = document.form_srchbox2.search_yachin1.value; var sch_yachin2 = document.form_srchbox2.search_yachin2.value; var sch_madori = document.form_srchbox2.search_madori.value; var form_srch_flg = document.form_srchbox2.form_srch_flg.value; if(form_srch_flg=='1'){ if( map_nelat!={$g_nelat} && map_swlat!={$g_swlat} && map_nelng!={$g_nelng} && map_swlng!={$g_swlng} ){ location.href = "{$CFG_URL_ROOT}map_search/?nelat="+map_nelat+"&nelng="+map_nelng+"&swlat="+map_swlat+"&swlng="+map_swlng+"&clat="+map_clat+"&clng="+map_clng+"&z="+map_zoom+"&y1="+sch_yachin1+"&y2="+sch_yachin2+"&md="+sch_madori; }else if(sch_yachin1!="" || sch_yachin2!="" || sch_madori!=""){ location.href = "{$CFG_URL_ROOT}map_search/?nelat="+map_nelat+"&nelng="+map_nelng+"&swlat="+map_swlat+"&swlng="+map_swlng+"&clat="+map_clat+"&clng="+map_clng+"&z="+map_zoom+"&y1="+sch_yachin1+"&y2="+sch_yachin2+"&md="+sch_madori; } } } </script> EOM; ?>