删除谷歌地图自定义标记上的鼠标
Remove google maps custom marker on mouseout
我创建的地图有多个区域用多边形勾画。当用户将鼠标移到某个部分上时,会弹出一个自定义标记,然后将鼠标移出,该标记就会消失。我已经得到了一切工作,但无法弄清楚如何让标记消失在鼠标。下面的代码不是每个部分,但我希望只是展示一个部分如何工作将提供足够的信息。我对地图API和javascript有点陌生,所以我希望我把第一部分设置好,但我希望有任何建议。我想我需要以某种方式访问noMarker函数中的标记…
//Sets up the polygon
var mapWC = new google.maps.Polygon({
paths: coordsWC,
strokeColor: "#14b400",
strokeOpacity: 0.5,
strokeWeight: 3,
fillColor: "#14b400",
sectionName: "West Cambridge",
markerImage: 'images/hood-marker.png',
markerLL: new google.maps.LatLng(42.3751819960975,-71.15445431301595),
fillOpacity: 0.33
});
mapWC.setMap(map);
//Mouse in and out
google.maps.event.addListener(mapWC, 'mouseover', showMarker);
google.maps.event.addListener(mapWC, 'mouseout', noMarker);
//functions
function showMarker(){
//var secName = this.sectionName;
//console.log(secName);
var image = this.markerImage;
var myLatLng = this.markerLL;
var themarker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image
});
} // End showMarker
function noMarker(){
//console.log("Moused Out");
}
保持变量引用在javascript顶部声明的标记,如var marker;
查看我的JS小提琴:显示和隐藏标记在鼠标上下
编辑:我注意到我使用法线贴图而不是多边形来演示这一点-但相同的代码应该工作,因为多边形似乎支持相同的事件,见这里的列表:谷歌地图api多边形事件
好吧,这里是使用多边形的例子:JS fiddle polygon,技巧是存储标记到实际的多边形对象,所以它很容易访问,至少这是我认为:)-也如果你想添加几个多边形尝试将它们全部存储在数组中,而不是一些全局多边形变量;)干杯!
相关文章:
- 如何停止地图移动时,鼠标悬停在标记在谷歌地图API 3
- 谷歌地图 api v3 搜索多边形没有鼠标事件
- 如何在谷歌地图上用鼠标移动标记
- 在谷歌地图中用鼠标移动标记
- 谷歌地图jQuery-通过鼠标点击获取LatLng
- 重叠圆圈阻止鼠标悬停事件-谷歌地图v3
- 谷歌地图v3获取鼠标滚轮事件
- 检测谷歌地图 v3 多边形上的鼠标事件的 shiftKey
- 使用OpenLayers和谷歌地图,鼠标光标和地图上的点不是内联的
- 由谷歌地图绘制的矩形 绘图管理器不会触发鼠标移动事件
- 谷歌地图API:显示代码中的鼠标悬停窗口
- 每次点击鼠标时都会刷新谷歌地图
- 鼠标悬停,鼠标退出,然后单击谷歌地图上的同一标记
- 如何区分谷歌地图API v3中鼠标左键和右键点击鼠标向下事件
- 谷歌地图API:删除和重置鼠标悬停上的标记
- 在谷歌地图v3中显示鼠标悬停事件的工具提示
- 在有角度的谷歌地图中使用鼠标移动标记
- 在鼠标悬停上动态创建的谷歌地图只有第一次才能正确显示
- 谷歌地图-标记在鼠标悬停前闪烁
- 谷歌地图API v3折线.如何扩展鼠标覆盖区域