2012-09-11 3 views
0

좋아요, 여기에 몇 가지 예제를 시도해 보았습니다. 정보 윈도우가 올바르게 추가 된 요소를 얻지 못하는 것 같습니다. 나는 이것이 틀린 것인데 어떻게 구성 했는가하는 문제가 있다고 확신한다.Google지도 트리거를 사용하여 InfoWindow를 클릭하십시오.

나는 내 자신의 사이드 바를 만들었으며 이것을보고 : http://koti.mbnet.fi/ojalesa/boundsbox/makemarker_sidebar.htm 가능해야합니다. 그러나 나는 내 코드와 다른 점을 볼 수 없다.

그래서 여기에 내가 사이드 바 요소에 온 클릭 기능은 아무것도하지 않는 것을 놓치고 무엇 내 AddMarker 및 사이드 바 기능

function addMarker(location, name, content) { 

     console.log("Adding Marker: "+location) 
     if (name === "Patient"){ 
      var patient_icon = '<?php echo base_url();?>images/Profile.png'; 
      var marker = new google.maps.Marker({ 
       position: location, 
       map: map, 
       title: name, 
       icon: patient_icon 
      }); 
     }else{ 
      var marker = new google.maps.Marker({ 
       position: location, 
       map: map, 
       title: name 
      }); 
     } 
     markersArray.push(marker); 
     var info = new google.maps.InfoWindow ({content: content}) 
     google.maps.event.addListener(marker, 'click', function(){info.open(map,marker);}); 
     if (name != 'Patient'){ 
      sidebar(name, marker, content) 
     } 
    } 

function sidebar(name, marker, content){ 
    name = name.replace(/\s+/g, ''); 
    $("<div id='"+name+"'class='even' onclick=' function(){google.maps.event.trigger("+marker+", \"click\")' >"+content+"</div>").appendTo($('#prov_list')); 
} 

추가입니까?

감사합니다.

답변

2

이 같은 것을 시도해 볼 수 있습니다. 문제는 문자열 연결과 관련이 있다고 생각합니다.

다음은 DOM 요소를 생성하는 또 다른 방법 :

 $("<div/>", { 
      'id': name, 
      'class': 'even', 
      'html': content 
     }).click(function(){ 
      google.maps.event.trigger(marker, 'click'); 
     }).appendTo($('#prov_list')); 
+0

당신은 승자입니다! 정말 고마워! 이제 열려있는 정보창을 열기 전에 열려있는 정보창을 닫는 방법을 알아 내야합니다! = P – DiscontentDisciple

0

일반 오래된 DHTML :

function sidebar(name, marker, content){ 
    var container = document.getElementById('prov_list'); 
    var myDiv = document.createElement('DIV'); 
    myDiv.onclick = function(){ 
    google.maps.event.trigger(marker, 'click'); 
    } 
    myDiv.innerHTML = content; 
    container.appendChild(myDiv); 
} 
관련 문제