0

실제 Google지도 api v3을 사용하고 있습니다. 내지도에는 마커가 있습니다. 내 마킹을 표시하기 위해 MarkerManager.js를 사용하고 있습니다.Google지도 V3 API 및 MarkerManager - 선택한 마커를 전환하는 방법은 무엇입니까?

각 마커에는 "type"속성 (1과 5 사이의 숫자)이 있습니다.

내 사이트에는 라디오 버튼이 있습니다.

<input type="radio" name="display_marker" value="0" checked> All 
<input type="radio" name="display_marker" value="1" checked> 1 
<input type="radio" name="display_marker" value="2" checked> 2 
<input type="radio" name="display_marker" value="3" checked> 3 
<input type="radio" name="display_marker" value="4" checked> 4 
<input type="radio" name="display_marker" value="5" checked> 5 

값을 선택하면 모든 마커를 표시하고 싶습니다. value = 1을 선택하면 beeing 1 등의 마커 만 표시하려고합니다.

나는 다음을 수행 내 markermanager 배열을 만드는 :

$(document).ready(function(){ 

    var latlng = new google.maps.LatLng(48.135789, 11.579075); 
    var mapOptions = { 
     zoom: 11, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    map = new google.maps.Map(document.getElementById('map'), mapOptions); 

    var listener = google.maps.event.addListener(map, 'bounds_changed', function(){ 
     setupMarkers(); 
     google.maps.event.removeListener(listener); 
    }); 

}); 



     function setupMarkers(){ 
      mgr = new MarkerManager(map); 

      var mc = myobject.length; 
      google.maps.event.addListener(mgr, 'loaded', function(){ 
       mgr.addMarkers(createMarkers(mc), 11); 
       mgr.refresh(); 
      }); 
     } 


     function createMarkers(nn){ 
      var batch = []; 

      for(var ii = 0; ii < nn; ii++){ 

       var marker = new google.maps.Marker({ 
        position: getLatLng(ii), 
        title: "marker " + ii, 
        type: getType(ii), 
       }); 

       google.maps.event.addListener(marker, 'click', function(){ 
        alert("title:" + this.title + "\ntype: " + this.type); 
       }); 

       batch.push(marker); 
      } 
      return batch; 
     } 

내가 내 show_marker (발) 함수에서해야합니까?

$("#myid input").click(function(){ 
    show_marker($(this).attr('value')); 
}); 

function show_marker(val){ 

} 

답변

1

여러 마커 관리자를 사용하여 문제가 해결되었습니다. type = 1 인 모든 마커는 manager1로 이동하고 type = 2 인 모든 마커는 manager2로 이동합니다.

이제 모든 마크 매너지를 보여주고 표시/숨길 수 있습니다 (managerX.hide())