我有一个功能gmap,当我点击标记时显示标记并显示infowindows。 现在,我想在悬停与该标记相关的列表项目时显示一个infowindow。我测试了很多东西,但infowindow从不显示。Google map api v3 show infowindows当点击一个外部元素时
我的项目都是这样的<li class="shop" data-shop="markerId">
而我的JS:
function initShopsMap(shops, myLatlng) {
createMap('map-canvas', myLatlng);
var infoWindow = new google.maps.InfoWindow();
for (var i = 0, length = shops.length; i < length; i++) {
var data = shops[i],
latLng = new google.maps.LatLng(data.latitude, data.longitude);
// Creating a marker and putting it on the map
var marker = new google.maps.Marker({
position: latLng,
map: map,
id: data.id,
name: data.name,
slug: data.slug,
infoWindow: infoWindow
});
(function(marker) {
// Attaching a click event to the current marker
google.maps.event.addListener(marker, 'click', function(e) {
infoWindow.setContent(marker.name + ' ' + marker.slug);
infoWindow.open(map, marker);
});
//hover list item when hover a marker
google.maps.event.addListener(marker, 'mouseover', function(e) {
//todo scroll to
$('.shop[data-shop="'+marker.id+'"]').addClass('active');
});
google.maps.event.addListener(marker, 'mouseout', function(e) {
$('.shop[data-shop="'+marker.id+'"]').removeClass('active');
});
})(marker, data);
}
}
如何将事件添加到$('.shop[data-shop="'+marker.id+'"]')
,显示相关信息窗口?
编辑:用google.maps.event.trigger(markers[myPoint-1], "click");
解决的问题与IIFE
google.maps.event.trigger(标记[myPoint-1], “点击”)工作;做的伎俩 – Tib 2013-03-06 12:38:36