Javascript 许多谷歌地图监听器同时存在
目前我有一张地图,上面有许多由多边形定义的区域,每个多边形都有一个不同的Javascript 许多谷歌地图监听器同时存在,javascript,google-maps,mouseevent,Javascript,Google Maps,Mouseevent,目前我有一张地图,上面有许多由多边形定义的区域,每个多边形都有一个不同的fillColor 然后,当我将鼠标悬停在每个多边形区域上时,会产生以下效果: google.maps.event.addListener(MapArea, "mouseover", function () { this.setOptions({ fillColor: 'rgb(0,255,255)' }); }); google.maps.event.addListener(MapArea, "mouseout"
fillColor
然后,当我将鼠标悬停在每个多边形区域上时,会产生以下效果:
google.maps.event.addListener(MapArea, "mouseover", function () {
this.setOptions({ fillColor: 'rgb(0,255,255)' });
});
google.maps.event.addListener(MapArea, "mouseout", function () {
this.setOptions({ fillColor: 'rgb(255,0,0)' });
});
换句话说,当我将鼠标移到上方时,该区域变为青色,当我移除鼠标时,该区域变为红色。然而,由于我的区域都是不同的颜色,我想在鼠标移走后回到它们的颜色
不同的颜色通过以下方式实现:
for (var t=0; t< lAll_Areas.length; t++) {
var n = //arbitrary number 0<n<255;
var m = (255-cd).toString();
var col = 'rgb(' + n + ',' + m + ',0)';
lAll_Areas[t].setOptions({ fillColor: col });
}
如何将mouseout事件附加到每个多边形?一个选项:将默认颜色和高亮显示颜色设置为多边形的属性
for (var t=0; t< lAll_Areas.length; t++) {
var n = //arbitrary number 0<n<255;
var m = (255-cd).toString();
var col = 'rgb(' + n + ',' + m + ',0)';
lAll_Areas[t].defaultColor = col;
lAll_Areas[t].highlightColor = 'rgb(0,255,255)';
lAll_Areas[t].setOptions({ fillColor: col });
}
让您的
mouseover
事件侦听器将当前颜色存储在您的mouseout
侦听器可以引用的全局变量中
var color;
google.maps.event.addListener(MapArea, "mouseover", function () {
color = this.fillColor;
this.setOptions({ fillColor: 'rgb(0,255,255)' });
});
google.maps.event.addListener(MapArea, "mouseout", function () {
this.setOptions({ fillColor: color });
});
google.maps.event.addListener(MapArea, "mouseover", function () {
this.setOptions({ fillColor: this.highlightColor });
});
google.maps.event.addListener(MapArea, "mouseout", function () {
this.setOptions({ fillColor: this.defaultColor });
});
var color;
google.maps.event.addListener(MapArea, "mouseover", function () {
color = this.fillColor;
this.setOptions({ fillColor: 'rgb(0,255,255)' });
});
google.maps.event.addListener(MapArea, "mouseout", function () {
this.setOptions({ fillColor: color });
});