2012-10-06 44 views
0

內我有一個谷歌地圖上的現場工作,地圖包括以下內容:切換地圖標記包括一個集羣

3種不同類型的地圖上的標籤 該引腳也聚集時靠得太近。

我怎麼現在碰到一個問題: 我一直負責提供切換每個標記組的可見性的能力,問題是..這將是直截了當,如果標記不聚集和跟隨代碼工作得很好:

onOff = (onOff == 1) ? sawdays.accordion.map : null; 


    var mapArray; 
    switch(type){ 
     case 'bandb': mapArray = sawdays.accordion.bandbMarkers; 
     break; 

     case 'hotel': mapArray = sawdays.accordion.hotelMarkers; 
     break; 

     case 'inn': mapArray = sawdays.accordion.innMarkers; 
     break; 

     case 'pub': mapArray = sawdays.accordion.pubMarkers; 
     break; 
    } 

    if (mapArray.length > 0) { 
     for (i in mapArray) 
      mapArray[i].setMap(onOff); 
     } 
    } 

的問題然而,從集羣中的引腳沒有切換,如果我關掉說酒店引腳,單擊集羣,酒店地圖銷仍然存在...

我在集羣中發現了以下ref:http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/docs/reference.html但是看不到方法實現我所追求的目標。

我想我在這裏遇到了一堵牆,保持羣集功能但添加切換功能的最佳方法是重繪地圖(這是站點http://www.sawdays.co.uk/special-places/content/search/?map#maptypeid=roadmap&zoom=9&lng=-3.36493113281245&lat=54.874929190748624)。因此,所有的數據是已經存在的客戶機重新配置的地圖上的地圖數據ajaxed在頁面加載...

問題: 是否有可能從切換的地圖引腳的知名度在一個集羣內部和外部?

回答

0

的MarkerClusterer控制,這簇標記的可見性(所以你不能獨立地控制它們)

我的建議:

  1. 保持不同的陣列爲每個類別的
  2. 時您可以「隱藏」某個類別,或者從MarkerClusterer中刪除這些標記,或者清除MarkerClusterer並添加可見類別的數組。
  3. 要「顯示」類別,請將這些標記添加回MarkerClusterer或清除MarkerClusterer,並只添加可見的類別數組。
  4. 隱藏/顯示未簇標記(實際上,這可能是沒有必要的,如果你做的1,2 & 3正確)
+0

Thnaks的小費。但是,如果我從刪除組所有的集羣,我將如何切換他們再次...我必須重新繪製所有的集羣?目前,所有的簇都存儲在獨立的數組中。 – John