2013-01-15 5 views
-2

Google지도 이벤트 트리거를 구현했습니다. 그러나 이벤트가 트리거/호출 된 것 같습니다. 그래서 전역 변수가 다른 파일에 있기 때문에 코드 위에 함수 초기화를 추가합니다. 그러나 새로운 문제가 발생하면 탭이 사라집니다.Google지도 트리거링 이벤트가 작동하지 않습니다.

몇 가지 질문 : 1) 글로벌 변수가 올바르게 추가 되었습니까? 2) 탭 생성자에 google.maps.event를 추가해야합니까? 3) 많이 시도했지만지도가 여전히 손상된 것 같습니다. 이것에 대한 해결책은 무엇입니까?

?>   
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 
    <script type="text/javascript"> 

    var map; 
    function initialize() { 
     var latLng = new google.maps.LatLng(<?php echo $geo_latitude;?>, <?php echo $geo_longitude;?>); 
     Demo.map = new google.maps.Map(Demo.mapContainer, { 
      <?php 
      if(get_option('ptthemes_scale_factor')){ 
       $ptthemes_scale_factor = get_option('ptthemes_scale_factor'); 
      } else { 
       $ptthemes_scale_factor = 13; 
      } 
      ?> 
      zoom: <?php echo $ptthemes_scale_factor;?>, 
      center: latLng, 
      <?php 
      if($map_type=='Road Map' || $map_type=='Satellite Map'|| $map_type=='Terrain Map'){ 
       if($map_type=='Satellite Map') { 
        $map_type = SATELLITE; 
       } elseif($map_type=='Terrain Map') { 
        $map_type = TERRAIN; 
       } else { 
        $map_type = ROADMAP; 
       } 
       ?> 
       mapTypeId: google.maps.MapTypeId.<?php echo $map_type;?> 
      <?php 
      } else { 
      ?> 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      <?php 
      } 
      ?> 
     }); 
     var marker = new google.maps.Marker({ 
      position: latLng, 
      map: Demo.map, 
      title:"<?php echo trim($post->post_title);?>" 
     });  

     jQuery.noConflict(); 
     jQuery(document).ready(function($) { 
      jQuery("#tabs").tabs(); 
     }); 
     $(function() { 
      $("#tabs").tabs({ 
       activate: function(e, ui) {         
        google.maps.event.trigger(Demo.map, "resize"); 
       } 
      }); 
     }); 
    } 
    </script> 

는 글로벌 VAR는 정의된다 :

init: function() { 
    var latLng = new google.maps.LatLng(<?php echo $geo_latitude;?>, <?php echo $geo_longitude;?>); 
    Demo.map = new google.maps.Map(Demo.mapContainer, { 
     <?php 
     if(get_option('ptthemes_scale_factor')) { 
      $ptthemes_scale_factor = get_option('ptthemes_scale_factor');} 
     else { 
      $ptthemes_scale_factor = 13; 
     } 
     ?> 
     zoom: <?php echo $ptthemes_scale_factor;?>, 
     center: latLng, 
     <?php 
     if($map_type=='Road Map' || $map_type=='Satellite Map'|| $map_type=='Terrain Map'){ 
      if($map_type=='Satellite Map') { 
       $map_type = SATELLITE; 
      } elseif($map_type=='Terrain Map') { 
       $map_type = TERRAIN; 
      } else { 
       $map_type = ROADMAP; 
      } ?> 
      mapTypeId: google.maps.MapTypeId.<?php echo $map_type;?> 
      <?php 
     } else { 
     ?> 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     <?php 
     } 
     ?> 
    }); 
    var marker = new google.maps.Marker({ 
     position: latLng, 
     map: Demo.map, 
     title:"<?php echo trim($post->post_title);?>" 
    }); 
} 
+1

먼저 오류를 수정하십시오. 구문 분석 오류를 현지화하는 데 유용한 도구가 많이 있습니다. (SO는 그러한 도구가 아닙니다.) –

답변

1

당신은 자바 스크립트 구문 분석 오류를 가지고있다. 여분의 닫는 괄호 } 라인 484에 있습니다. 문제를 해결하고 참조하십시오.

+0

감사합니다. 방금}을 제거했습니다. 그러나 488 행에 예기치 않은 입력이 있습니다. 다음에해야 할 일은 무엇입니까 ?? – promolancer

+0

는 코드를 수정하지만 탭이 사라진 이유를 알고 있습니까? – promolancer

+0

'initialize()'함수는 결코 호출되지 않습니다. jQuery를 사용하기 때문에 initialize 함수를 호출하는 대신'jQuery (document) .ready()'호출로 코드를 래핑하면된다. –

관련 문제