【问题标题】:Marker with label from google map doen't have event target带有谷歌地图标签的标记没有事件目标
【发布时间】:2021-05-05 14:32:03
【问题描述】:

我正在尝试将 onclick 事件添加到标记 我的代码如下所示:

        <MarkerWithLabel
          position={{ lat: val.coordinate.lat, lng: val.coordinate.lon }}
          key={val.thumbnailUrl}
          labelAnchor={new google.maps.Point(0, 0)}
          labelClass={styles.marker_label}
          onClick={(e)=>console.log( e )}
          >
          <div className={styles.preview}>
            <img src={val.thumbnailUrl} alt={val.name} />
            <p>{val.ratePlan.price.current}</p>
            <p><b>{`${val.address.countryName}, ${val.address.locality}, ${val.address.region}, ${val.address.streetAddress}`}</b></p>
            <p>Rating: {val.guestReviews.rating}</p>
          </div>
        </MarkerWithLabel>

我的活动没有目标。

我在 cosole 看到了这个

 _.gp {latLng: _.I, domEvent: MouseEvent, pixel: _.N, Xa: undefined}

【问题讨论】:

  • 您是否尝试联系e.domEvent
  • 是的。当前目标:空
  • 这里的onClick 基本上是映射到marker.addListener("click") 所以e 是google maps 调用回调的参数,所以它与库无关。正如您所注意到的,该事件具有domEventcurrentTarget: null,但即使target 也无济于事,因为它是area 元素,而您可能正在寻找指针本身。您究竟在寻找什么活动 (e)?
  • 我想为这个标记显示一些额外信息的标签

标签: javascript reactjs react-google-maps


【解决方案1】:

我使用 try catch 解决了这个问题。 那是我的代码

<MarkerWithLabel
          position={{ lat: val.coordinate.lat, lng: val.coordinate.lon }}
          key={val.thumbnailUrl}
          labelAnchor={new google.maps.Point(0, 0)}
          // labelClass={val.id == GlobalStore.propertySelected ? styles.marker_label : styles.marker_label_selected}
          labelClass={ styles.marker_label}

          icon = {icon}
          title={val.id.toString()}
          onClick={(e)=>GlobalStore.setPropertySelected( e )}
          >
          <div className={styles.preview}>
            {val.ratePlan.price.current}
          </div>
        </MarkerWithLabel>


  setPropertySelected(e){
    try {

      if(e.currentTarget.title) {
  
       console.log(e.currentTarget)
  
      }

    } catch(error) {

      console.log(error);

    }
  }

现在可以了

【讨论】:

  • 如果有人能解释为什么我会遇到这个问题,请这样做
猜你喜欢
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
  • 2011-06-12
  • 2018-04-13
  • 2020-03-09
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
相关资源
最近更新 更多