2014-03-27 37 views
0

我試圖提醒標記中的值,以便我可以提交表單並將值傳遞給我的servlet以進行一些處理。我是谷歌地圖的新手,我很困惑,無法實現這一功能。 infoWindow工作正常,當我懸停時,它顯示的位置名稱和一點描述,當我鼠標infowindow關閉。我無法提醒點擊的標記值。任何人都可以指導我。在Google地圖中提醒標記值

for (i = 0; i < location.length; i++) { 

      marker = new google.maps.Marker({ 
       position: new google.maps.LatLng(location[i][2], location[i][3]), 
       map: map 
      }); 

      google.maps.event.addListener(marker, 'mouseover', (function(marker, i) { 
       var content = contentString + location[i][0] + " - " + location[i][1] + "</DIV>"; 
       return function() { 
        infowindow.setContent(content); 
        infowindow.open(map, marker); 
       } 
      })(marker, i)); 

      google.maps.event.addListener(marker, 'mouseout', function() { 
       infowindow.close(); 
      }); 


      google.maps.event.addListener(marker, 'click', function() { 

      alert(location[i][0].trim()); 

      }); 

     } 

回答

1

您可以用類似的方式爲mouseover事件偵聽器解決:

(function(i) { 
     google.maps.event.addListener(marker, 'click', function() { 
      alert(location[i][0].trim()); 
     }); 
    })(i); 

否則錯誤,因爲i設置location陣列的過去的最後一個條目

Uncaught TypeError: Cannot read property '0' of undefined 

報道。

+0

完美地工作..謝謝! – user525146