2011-12-25 3 views
0

내 마커는 항상 클릭 할 때 마지막 정보를 표시합니다. 기본적으로 각 클릭 된 마커에 대한 해당 정보를 표시하려고합니다. 내 마커의 클릭에 항상 마지막 정보창을 받고 있지만, 오전 것입니다함수 인수를 사용하여 Google지도에서 정확히 클릭 된 마커를 찾으려면 어떻게해야합니까?

$(function() { 
    var map = new google.maps.Map(document.getElementById('map_canvas'), { 
       zoom : 2, 
       center: new google.maps.LatLng(43.65654, -79.90138), 
       mapTypeControl: false, //will remove the top right corner Map type(Satellite/Map) 
       //scaleControl: false, 
       navigationControl: false, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
       }); 
      $.get('example.xml', function(xml) { 
      $('marker',xml).each(function(i) { 
       var $this = $(this), 
        the_marker = new google.maps.Marker({ 
         title: $this.find('label').text(), 
         map: map, 
         clickable: true, 
         position: new google.maps.LatLng(
          parseFloat($this.find('lat').text()), 
          parseFloat($this.find('lon').text()) 
        )}); 
         new google.maps.event.addListener(the_marker, 'click', function() { 
         getInfo(); 
       }); 
      }); 
     }); 
    function getInfo() { 
      $.ajax({ 
       type:'GET', 
       url:'example.xml', 
       dataType:'xml', 
       success: function(xml) { 
       $(xml).each(function() { 
        $(this).find("marker").each(function() { 
         $(this).find("info"); 
         $("#newDiv").html($(this).find("info")); 
        }) 
       }) 
       } 

      }) 
     $("#newDiv").html($(this).find("info").text()); 
    } 
    }); 

오히려 내가 자신의 정보창이 열려 있기 위하여 각 마커를 원하는 : 여기에 내가 지금까지 가지고있는 것입니다. 이제는 내 사례에 infowindow가 없으며 divs가 있습니다.

감사합니다.

답변

0

단순히 배열을 사용하면됩니다.
등이


markers[i] = new Marker({ some options }); 
new google.maps.event.addListener(markers[i], 'click', function() { 
    getInfo(i); 
}); 

추가 : 어떤 마커의 클릭에 XML 만 첫 번째 마커를 얻기 위해 같은 거요

여전히 얻을 수 없습니다.
데모 또는 예제가 있습니까?
클릭 한 마커의 정보를 가져 오려면 다음과 같이하십시오.

markers[i] = new Marker({ some options }); 
info[i] = $(this).find('info'); 
new google.maps.event.addListener(markers[i], 'click', function() { 
    $("#newDiv").html(info[i]); 
}); 
+0

사실 저는 이미 XML의 마커 태그를 반복하고 있습니다. 매개 변수를 올바르게 사용하기 위해 어딘가에 필요합니다. 하지만 혼란스러워 .... – Mike

+0

클릭 이벤트를 첨부 할 때 모든 정보를 저장하지 않는 이유는 무엇입니까? 매번 마크로 클릭하면 example.xml을 얻을 수있는 이유는 무엇입니까? – Sang

+0

실제로 모든 마커를 클릭 할 때 xml에서 첫 번째 마커 태그를 가져와 관련 정보를 가져와야합니다. 나는 제안에 개방적이다, 그것을하는 것이 더 좋다. 감사 – Mike

관련 문제