我在GMSMapView
中有很多标记。我想知道哪个标记被点击了。
我知道有- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker
代表。但我的问题是,当我点击任何标记时,我将在infoWindow
中显示每个标记的不同信息。所以,我必须知道哪个标记被点击。我怎么能这样做?
答案 0 :(得分:4)
创建标记时,将其userData
属性设置为您自己的类的实例,该实例存储有关标记的数据。
然后在didTapMarker
中,您可以获取userData
属性,将其转换为您自己的类型,然后提取您需要的详细信息。
答案 1 :(得分:2)
您可以在数据创建过程中设置标记的 accessibilityLabel 属性。
例如,您正在从一组对象创建标记,然后将每个标记的 marker.accessibilityLabel 设置为其在数组中的位置,这样当用户打算点击任何标记时,只需查找它的accessibilityLabel,所以在这个位置找到数组中的数据。