2013-04-22 29 views
0

我很奇怪,爲什麼我收到以下錯誤:古怪的行爲谷歌的融合表

類型錯誤:e.row.beachID未定義

我的單擊事件處理程序正常工作,但我的鼠標懸停和mouseout事件處理程序,儘管類似於點擊處理程序輸出上面提到的TypeError消息。如果我能夠使用'點擊處理程序'從gft檢索圖層數據,而不是使用'mouseover'和'mouseout'處理程序 - 我試圖從同一張表中檢索數據。

/* start map initialization */ 
function initialize() { 
    latlng = new google.maps.LatLng(49.894634, -97.119141); 
    var myOptions = { 
     center: latlng, 
     zoom: 7, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     zoomControlOptions: { 
      style: google.maps.ZoomControlStyle.SMALL 
     }, 
     mapTypeControl: true, 
     mapTypeControlOptions: { 
      mapTypeIds: [ 
       google.maps.MapTypeId.ROADMAP, 
       google.maps.MapTypeId.SATELLITE, 
       google.maps.MapTypeId.HYBRID, 
       google.maps.MapTypeId.TERRAIN 
      ], 

      style: google.maps.MapTypeControlStyle.DROPDOWN_MENU 
     }, 
     overviewMapControl: true, 
     overviewMapControlOptions: { 
      opened: true 
     } 

    }; 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

    layer = new google.maps.FusionTablesLayer({ 
     query: { 
      select: 'POINT', 
      from: tableID 
     }, 
     suppressInfoWindows: true 
    }); 
    layer.setMap(map); 
    infoWindow = new google.maps.InfoWindow(); 


    // begin tooltip section 
    layer.enableMapTips({ 
     select: "'beachID', 'beach'", 
     from: tableID, 
     geometryColumn: 'POINT', 
     suppressMapTips: true, 
     delay: 100, 
     tolerance: 8 
    }); 

    google.maps.event.addListener(layer, 'mouseover', function (e) { 
     $('#info').html(
      '<h3>' + e.row['beachID'].value + '</h3>', 
      '<h3>' + e.row['beach'].value + '</h3>'); 
    }); 

    google.maps.event.addListener(layer, 'mouseout', function (e) { 
     $('#info').html('<h2>Mouseout</h2>') ; 
    }); 
    // end tooltip section 


    google.maps.event.addListener(layer, 'click', function (e) { 
     // close infoWindow if open 
     if (infoWindow) { 
      infoWindow.close(); 
     } 
     beachID = e.row['beachID'].value; 
     beachName = e.row['beach'].value; 
     point = e.row['POINT'].value; 
     region = e.row['region'].value; 
     sampleDate = e.row['Date'].value; 
     ecoli_count = e.row['avg_ecoli_count'].value; 
     water_quality_guideline = e.row['water_quality_guideline'].value; 
    }); 
} 

有沒有什麼明顯的我錯過了?任何想法總是讚賞。

在此先感謝。 邁克爾

回答