如何使用getMarkers()方法获取Marker的自定义属性?

时间:2019-01-10 16:32:47

标签: markerclusterer react-google-maps

我正在构建一个使用react-google-maps集成组件的应用程序,并且创建了标记的自定义属性“ id”。我必须访问标记群集器单击上的聚集标记,但似乎无法访问通过getMarkers()方法创建的自定义属性。

vptr

还有其他方法可以访问标记的自定义属性吗?

1 个答案:

答案 0 :(得分:0)

您可以通过MarkerProps.options prop分配诸如id之类的自定义属性,如下所示:

<MarkerClusterer onClick={this.handleMarkerClustererClick}>
   {this.props.markers.map(marker => (
      <Marker
         options = {{marker.id}} 
         key={index}
         position={marker.ppos}
      />
    ))}
</MarkerClusterer>

使用MarkerClusterer.getMarkers方法时,这些属性将通过标记实例提供:

handleMarkerClustererClick(markerClusterer, pos) {
  const clickedMarkers = markerClusterer.getMarkers();
  for( let m of clickedMarkers){
    console.log(m.id); 
  }
}

这里是a demo