高德地图map.add(marker),marker标记不显示

今天使用了高德地图的map.add(marker),使用从后端获取的经纬度在地图上面标记一个点,不知道为什么,是按照高德地图的官方文档来得,但是还是一直没有出现标记点,我把js翻来覆去改了好多遍,代码如下:

     // 高德地图逆地址编码
         var map = new AMap.Map("container", {
          zoom: 10, //设置初始化级别         
          center: [108.897669,34.229093],
          resizeEnable: true
      });       
      var geocoder = new AMap.Geocoder({
          city: "010", //城市设为北京,默认:“全国”
          radius: 1000 //范围,默认:500
      });
      var marker = new AMap.Marker();
      marker.setMap(map);
      function regeoCode() {
          var lnglat  = [108.897669,34.229093];                 
          geocoder.getAddress(lnglat, function(status, result) {
              if (status === 'complete'&&result.regeocode) {
                  map.add(marker);
                  map.setZoom(15);
              }
              else{
                  log.error('根据经纬度查询地址失败')
              }
          });
          
      }
      regeoCode();

后面发现其实marker标记是添加上了的,只不过是因为样式的问题,标记点继承了不知道网上多少层父元素的overflow:hidden的属性,给代码里面加了

.amap-icon{

  overflow:inherit !important;

}

就解决了!我可是足足在这坑上徘徊了快三个小时,希望对大家有用。

 过了几天发现overflow:hidden;是自带的属性,不显示的原因,是因为代码里面写了

img{

padding-left:20px;

}

本意只是想写给项目里面的其他地方的图片,没想到影响了marker的默认图片的样式,所以删除了padding-left:20px;的样式

### 实现鼠标悬停显示信息窗口 为了在高德地图 API 中配置 Marker 以实现在鼠标悬停时显示信息窗口 (InfoWindow),可以按照如下方法操作: #### 配置 InfoWindow 和 Marker 的事件监听器 首先,在初始化地图之后,创建一个 `InfoWindow` 对象并将其与特定的 Marker 关联起来。通过为 Marker 添加 `mouseover` 和 `mouseout` 事件监听器来控制信息窗口的显示和隐藏。 ```javascript // 创建地图实例 var map = new AMap.Map(&#39;container&#39;, { zoom: 10, center: [116.397428, 39.90923] }); // 定义要添加到地图上的标记点坐标数组 var markersData = [ {lnglat:[116.397428, 39.90923], title:&#39;天安门广场&#39;}, ]; // 循环遍历数据源,构建多个marker对象,并绑定infowindow弹窗效果 markersData.forEach(function(item){ var marker = new AMap.Marker({ position:new AMap.LngLat(item.lnglat[0], item.lnglat[1]), title:item.title }); // 将Marker添加至地图 map.add(marker); // 构建自定义的信息窗口内容 var infoWindowContent = &#39;<div style="padding:5px;">&#39;+item.title+&#39;</div>&#39;; // 初始化信息窗体组件 var infowindow = new AMap.InfoWindow({content:infoWindowContent}); // 绑定鼠标移入事件触发信息窗体打开 AMap.event.addListener(marker,&#39;mouseover&#39;,function(){ infowindow.open(map, marker.getPosition()); }); // 绑定鼠标离开关闭信息窗体 AMap.event.addListener(marker,&#39;mouseout&#39;,function(){ infowindow.close(); }); }); ``` 此代码片段展示了如何利用 JavaScript 来处理鼠标的进入 (`mouseover`) 和退出 (`mouseout`) 事件,从而动态地管理信息窗口的状态[^1]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值