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);
});
工作小提琴->