InfoWindow, вероятно, было правильным подходом к решению этой проблемы, но мы не хотели идти по этому пути, поскольку это означало бы значительное изменение нашего кода для обработки InfoWindows в OverlayView.
Вместо этого мы закончили тем, что добавили прослушиватели для событий mouseover и mouseout в OverlayView, а затем переключили Google Map и поведение страницы на основе событий мыши:
// Prevent page body and google map from handling the mouse
// Wheel events when hovering over pin group content
google.maps.event.addDomListener(groupDiv, 'mouseover', function () {
gMap.setOptions({
disableDoubleClickZoom: true,
navigationControl: false,
scaleControl: false,
draggable: false
});
$('html').css('overflow', 'hidden');
})
// Restore control to page body page body and google map
// when user is no longer hovering pin group content
google.maps.event.addDomListener(groupDiv, 'mouseout', function () {
gMap.setOptions({
disableDoubleClickZoom: false,
navigationControl: true,
scaleControl: true,
draggable: true
});
$('html').css('overflow', 'auto');
})