Javascript 如何使用表格行单击在google地图(web)上绘制信息窗口

Javascript 如何使用表格行单击在google地图(web)上绘制信息窗口,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我这边有一张谷歌地图一张我的城市的普通地图 function initialize() { var myLatlng = new google.maps.LatLng(1.1, 2.2); var mapOptions = { center: myLatlng, zoom: 14, mapTypeId: google.maps.MapTypeId.ROA

我这边有一张谷歌地图一张我的城市的普通地图

function initialize() {
            var myLatlng = new google.maps.LatLng(1.1, 2.2);
            var mapOptions = {
                center: myLatlng,
                zoom: 14,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

}

  google.maps.event.addDomListener(window, 'load', initialize);
 infowindow = new google.maps.InfoWindow({
                                content:  window_detail
                            });
                         infowindow.open(map);
然后我有一个表,数据来自我的数据库

<table>
  <tr class="row">
     <td>1.8</td>
     <td>1.2</td>
     <td>this is sample description 1</td>
  </tr> 
  <tr class="row">
     <td>2.1</td>
     <td>1.3</td>
     <td>this is sample description 2</td>
  </tr>
  <tr class="row">
     <td>1.2</td>
     <td>Longitude</td>
     <td>this is sample description 3</td>
  </tr>
</table>
我需要做的是根据单击一行获得的数据打开infowindow base

我对此进行了搜索,但大多数可用方法是
-信息窗口已预加载

有谁能帮助我尝试使用的方法来添加这样的侦听器吗

function initialize() {
            var myLatlng = new google.maps.LatLng(1.1, 2.2);
            var mapOptions = {
                center: myLatlng,
                zoom: 14,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

}

  google.maps.event.addDomListener(window, 'load', initialize);
 infowindow = new google.maps.InfoWindow({
                                content:  window_detail
                            });
                         infowindow.open(map);
但它似乎不正确,也不起作用


你能帮帮我吗?我是新手,所以请饶了我吧。谢谢

这很简单,您可以在
$(“.row\u data”)中添加一个信息窗口。如果需要,请单击
方法添加它

沿着这些思路的东西(不是经过测试,只是为了一般的想法)

Javascript:

$(".row_data").click(function(){  
  //get your table data as an object
  // Now make sure that if an infoWindow exists you close it 
  if (infoWindow !== null) {
        infoWindow.close();
        infoWindow = null;
  }
  // Now add a new infoWindow based on your data
  infoWindow = new google.maps.InfoWindow({
    content: 'Some content here',
    position: new google.maps.latLng(/* put in data here from table */)
  });
  //now open the infowindow in particular map
  infoWindow.open(someMap);
});

使用
eq()
拖出单击行的内容,并将值分配给已创建的信息窗口:

典型初始化()中

将单击事件分配给表中的每一行:

$("#table tr").on('click', function() {
   var lat = parseFloat($(this).find('td').eq(0).text());
   var lng = parseFloat($(this).find('td').eq(1).text());
   var content = $(this).find('td').eq(2).html(); 
   var latLng = new google.maps.LatLng(lat, lng);
   infoWindow.setPosition(latLng);
   infoWindow.setContent(content);
   infoWindow.open(map);
});
工作小提琴->