2014-01-25 4 views
0

안녕하세요. 표시/숨기기 div 내에 Google지도를 표시하려면 아래 자바 스크립트 코드를 사용하고 있습니다.Javascript div는 내 Google지도를 손상시킵니다.

추신 : 페이지가로드 될 때 기본적으로지도를 숨기고 싶습니다.

<script type="text/javascript"> 

     // <![CDATA[ 
     function showlayer(layer) { 
      var mymap = document.getElementById(layer).style.display; 
      if (mymap == "block") { 
       document.getElementById(layer).style.display = "none"; 
      } else { 
       document.getElementById(layer).style.display = "block"; 
      } 
     } 
     // ]]> 


    </script> 

<div id="mymap" style="display:none;"> 
<? include $this->loadTemplate('map.php'); ?> 
</div> 

map.php 파일이 아래의 코드를 포함 : 그래서 내가 쓴

<script src="http://maps.googleapis.com/maps/api/js?v=3.6&amp;sensor=false" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function initialize() { 
      var mapLatlng = new google.maps.LatLng(<?php echo $this->link->lat . ', ' . $this->link->lng; ?>); 
      var mapOptions = { 
       zoom: <?php echo ($this->link->zoom?$this->link->zoom:13); ?>, 
       center: mapLatlng, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
       scrollwheel: false 
      }; 
      var map = new google.maps.Map(document.getElementById("map"), mapOptions); 
      var marker = new google.maps.Marker({ 
       position: mapLatlng, 
       map: map, 
       title:"<?php echo addslashes($this->link->link_name); ?>" 
      }); 
     } 
     jQuery(document).ready(function(){initialize();}); 

    </script> 

내가 스타일 = "표시를 제거하면 : 없음, 모든 확인을 작동하지 않습니다하지만 난을 표시 할 해달라고을 페이지로드에 대한지도.

어떤 도움? 당신이 document.getElementById(layer).style.display = "block";을 한 후 나는 그 지정된 제대로지도를 중심하지 않는 생각 버그가 있기 때문에

+1

Java? Java는 어디에 있습니까? –

+0

어떻게'showlayer'를 부르시겠습니까? 왜냐하면 당신의 코드는 당신이'layer'를 적절히 지정했기 때문입니다. – Andy

+0

죄송합니다. 내가 자바를 의미 – Takis

답변

0

전화 초기화 위도와 경도. div가 표시된 후에 맵을로드하십시오.

+0

div가 표시된 후에 어떻게 맵을로드 할 수 있습니까 ?? 미안하지만 질문에 대한 자바 스크립트 newby입니다. : – Takis

+0

제발 도와 줄 수 있습니까? – Takis

+0

dom이로드 될 때 $ .ready -> jQuery (document) .ready (function() {initialize();})에 초기화됩니다. 대신, document.getElementById (layer) .style.display = "block"다음에 initialize()를 호출하십시오. – Leo

관련 문제