javascript - 谷歌地图自定义 map 标记图像悬停不起作用

标签 javascript jquery css google-maps

我只想为谷歌地图自定义 map 制作器图像提供悬停。我正在使用图像路径来设置自定义图像的样式。风格完美运作。但悬停不起作用。

Jsfiddle

这是我的代码

img[src="https://images.sftcdn.net/images/t_app-logo-l,f_auto,dpr_auto/p/119c87f6-9b28-11e6-8026-00163ed833e7/3135981775/avatar-fortress-fight-2-logo.png"] {
   border: 4px solid #73cccc !important;
};

img[src="https://images.sftcdn.net/images/t_app-logo-l,f_auto,dpr_auto/p/119c87f6-9b28-11e6-8026-00163ed833e7/3135981775/avatar-fortress-fight-2-logo.png"]:hover{
  opacity: 0.5;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="map_canvas" style="height:400px; width: 100%"></div>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;language=en"></script>
<script>
var image = 'https://images.sftcdn.net/images/t_app-logo-l,f_auto,dpr_auto/p/119c87f6-9b28-11e6-8026-00163ed833e7/3135981775/avatar-fortress-fight-2-logo.png';
var mapOptions = {
  zoom: 13,
  center: new google.maps.LatLng(37.423, -122.082), 
  mapTypeId: google.maps.MapTypeId.ROADMAP 
}
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
var myPos = new google.maps.LatLng(37.4231054, -122.08239880000002); 
var myMarker = new google.maps.Marker({position: myPos, map: map, icon: image });
</script>

是否有任何CSS解决方案或者这与谷歌地图鼠标悬停事件有关?

最佳答案

这是我的解决方案

为标记添加这些事件监听器

  myMarker.addListener('mouseover', function() {
    console.log("mouseover");
    this.setOpacity(0.5);
  });
    myMarker.addListener('mouseout', function() {
    console.log("mouseout");
    this.setOpacity(1);
  });

无需添加额外的 CSS 来实现不透明度

img[src="https://images.sftcdn.net/images/t_app-logo-l,f_auto,dpr_auto/p/119c87f6-9b28-11e6-8026-00163ed833e7/3135981775/avatar-fortress-fight-2-logo.png"] {
  border: 4px solid #73cccc !important;
}

img[src="https://images.sftcdn.net/images/t_app-logo-l,f_auto,dpr_auto/p/119c87f6-9b28-11e6-8026-00163ed833e7/3135981775/avatar-fortress-fight-2-logo.png"]:hover {
  opacity: 0.5;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="map_canvas" style="height:400px; width: 100%"></div>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;language=en"></script>
<script>
  var image = 'https://images.sftcdn.net/images/t_app-logo-l,f_auto,dpr_auto/p/119c87f6-9b28-11e6-8026-00163ed833e7/3135981775/avatar-fortress-fight-2-logo.png';
  var mapOptions = {
    zoom: 13,
    center: new google.maps.LatLng(37.423, -122.082),
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
  var myPos = new google.maps.LatLng(37.4231054, -122.08239880000002);
  var myMarker = new google.maps.Marker({
    position: myPos,
    map: map,
    icon: image
  });
  myMarker.addListener('mouseover', function() {
    console.log("mouseover");
    this.setOpacity(0.5);
  });
    myMarker.addListener('mouseout', function() {
    console.log("mouseout");
    this.setOpacity(1);
  });
</script>

关于javascript - 谷歌地图自定义 map 标记图像悬停不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56000180/

相关文章:

css - 样式表表类测试一切正常,但单元格边框消失了

javascript - 组合数组以在 Google 表格中使用

javascript - 休息 API : how to pass the JSONresponse to Javascript?

javascript - ajax 调用期间的 KnockoutJS 竞争条件

javascript - 如何使用 w3.css 作为框架以 Angular 显示模态对话框?

html - 在 div 下有很多空白区域?

javascript - Angularjs 使用范围值作为 href

javascript - 如何让我的矩形在 HTML 中消失

jquery 鼠标滚轮

javascript - 在表单中输入时更改 div 中的文本