Jquery 覆盖层上的gmap.js鼠标悬停事件?可能吗?

Jquery 覆盖层上的gmap.js鼠标悬停事件?可能吗?,jquery,google-maps,mouseover,Jquery,Google Maps,Mouseover,我正在使用并尝试在我创建的覆盖标记上创建鼠标悬停事件 这里有一个JSFIDLE--> 看看-这是我能想到的尝试创建鼠标悬停事件的最合乎逻辑的方式,但它不起作用: var map; $(document).ready(function(){ map = new GMaps({ el: '#map', lat: 29.425967, lng: -98.486142, zoom:12, zoomControl : true, zoomControlO

我正在使用并尝试在我创建的覆盖标记上创建鼠标悬停事件

这里有一个JSFIDLE-->

看看-这是我能想到的尝试创建鼠标悬停事件的最合乎逻辑的方式,但它不起作用:

var map;
$(document).ready(function(){
  map = new GMaps({
    el: '#map',
    lat: 29.425967,
    lng: -98.486142,
    zoom:12,
    zoomControl : true,
    zoomControlOpt: {
        style : 'SMALL',
        position: 'TOP_LEFT'
    },
    panControl : false,
    streetViewControl : false,
    mapTypeControl: false,
    overviewMapControl: false
  });

  map.drawOverlay({
    lat: 29.425967,
    lng: -98.486142,
    events: {
      mouseover:function() {
        alert("The Alamo");
      }
    },
    content: "<div class='masterpin bounce'></div><div class='pulse'></div>"
  });

});
var映射;
$(文档).ready(函数(){
map=新的gmap({
el:'地图',
拉脱维亚:29.425967,
液化天然气:-98.486142,
缩放:12,
动物控制:对,
ZoomControl控件:{
风格:“小”,
位置:“左上方”
},
泛控制:错误,
街景控制:错误,
mapTypeControl:false,
概览地图控件:false
});
地图覆盖({
拉脱维亚:29.425967,
液化天然气:-98.486142,
活动:{
mouseover:function(){
警报(“阿拉莫”);
}
},
内容:“”
});
});
有人能帮忙吗??任何建议都将不胜感激。谢谢


.

一个选项是向保存覆盖的div添加onmouseover和onmouseout函数:

var map;
var infowindow = new google.maps.InfoWindow();

function mouseover() {
    infowindow.setContent("Mouse");
    infowindow.setPosition(new google.maps.LatLng(29.425967,-98.486142));
    infowindow.setOptions({pixelOffset:new google.maps.Size(-14,-16)});
    infowindow.open(map);
};
function mouseout() {
    infowindow.close();
};
$(document).ready(function () {
    map = new GMaps({
        el: '#map',
        lat: 29.425967,
        lng: -98.486142,
        zoom: 12,
        zoomControl: true,
        zoomControlOpt: {
            style: 'SMALL',
            position: 'TOP_LEFT'
        },
        panControl: false,
        streetViewControl: false,
        mapTypeControl: false,
        overviewMapControl: false
    });

    map.drawOverlay({
        lat: 29.425967,
        lng: -98.486142
        },
        content: "<div class='masterpin bounce' onmouseover='mouseover();' onmouseout='mouseout();'></div><div class='pulse'></div>"
    });

});
var映射;
var infowindow=new google.maps.infowindow();
函数mouseover(){
infowindow.setContent(“鼠标”);
infowindow.setPosition(新的google.maps.LatLng(29.425967,-98.486142));
setOptions({pixelOffset:newgoogle.maps.Size(-14,-16)});
打开(地图);
};
函数mouseout(){
infowindow.close();
};
$(文档).ready(函数(){
map=新的gmap({
el:'地图',
拉脱维亚:29.425967,
液化天然气:-98.486142,
缩放:12,
动物控制:对,
ZoomControl控件:{
风格:“小”,
位置:“左上方”
},
泛控制:错误,
街景控制:错误,
mapTypeControl:false,
概览地图控件:false
});
地图覆盖({
拉脱维亚:29.425967,
液化天然气:-98.486142
},
内容:“”
});
});

您可以在覆盖的就绪事件触发时将侦听器添加到元素中,而不是像其他答案建议那样创建全局函数

var overlay = map.drawOverlay({
  lat: 29.425967,
  lng: -98.486142,
  layer: 'overlayMouseTarget',
  content: '<div>my overlay</div>'
});

overlay.addListener('ready', function () {
  overlay.el.addEventListener('mouseover', function (e) {
    console.log("mouseover");
  });
});
var overlay=map.drawOverlay({
拉脱维亚:29.425967,
液化天然气:-98.486142,
图层:“OverlyMouseTarget”,
内容:“我的覆盖”
});
overlay.addListener('ready',function(){
overlay.el.addEventListener('mouseover',函数(e){
控制台日志(“鼠标悬停”);
});
});

为什么不在保存覆盖的div中添加一个?谢谢回答这个问题,我会奖励它