1

這是我的第一個問題。我個人覺得這個網站真棒,幫了我很多很多次:)谷歌地圖,使用羣集點擊標記

現在我有沒有解決的一個問題:P

我正在開發使用谷歌地圖API網站。預計我將在未來太多的標記,所以我想到了2種方式解決這個問題的:

  1. 添加事件,每次有人點擊地圖上,更新標記通過PHP文件顯示(異步調用從JavaScript文件)文件的
  2. 添加集羣(以下這一步驟http://www.svennerberg.com/2009/01/handling-large-amounts-of-markers-in-google-maps/

我試着做他們與兩者我有一個問題

  1. 我不知道如何從JavaScript調用PHP文件來更新我的地圖標記
  2. 如果我使用markerclusterer,它工作正常,但是當我按下一個標記我無法打開HTML窗口

    for(var i = 0; i < 50; i += 0.1) { 
         var marker = new GMarker(new GLatLng(59.0 + i, 13.80 + i)); 
         markers.push(marker); 
        } 
    

這是我用於將標記推入數組中的代碼,所以我不能添加事件,嗯,我可以但只適用於最後一個。

有什麼想法?

在此先感謝!

回答

0

嘗試類似這樣的操作來獲取點擊時單個標記的內容。你只需要將標記添加到你的集羣,它應該沒問題。

function load_content(marker, id){ 
    $.ajax({ 
     url: '/map/getMarkerWindow/' + id, 
     success: function(data){ 
      infowindow.setContent(data); 
      infowindow.open(map, marker); 
     } 
    }); 
} 

for(var i = 0; i < 50; i += 0.1) { 
     var marker = new GMarker(new GLatLng(59.0 + i, 13.80 + i)); 

     marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(59.0 + i, 13.80 + i), 
      clickable: true, 
      id:i 
     }); 

     google.maps.event.addListener(marker, "click", function() { 
      infowindow.close(); 
      load_content(this, this.id); 
     }); 

     markers.push(marker); 
    }