0

我使用的是實際的google maps api v3。在我的地圖中,我有一些標記。爲了顯示我的標記,我使用了MarkerManager.js。Google Maps 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 = 0時,我想顯示所有標記。選擇值= 1,我只想顯示其類型爲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(VAL)功能呢?

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

function show_marker(val){ 

} 

回答

1

我使用多個標記管理器修復了問題。 類型= 1的所有標記都將轉到manager1,類型= 2的所有標記轉到manager2等等。

現在我可以顯示所有markermanages和顯示/隱藏他們的onclick(managerX.hide())