ATGoogleMapsSelectiveMarker

ATGoogleMapsSelectiveMarker

我正在使用Google Map iOS SDK。在这里,我在单独的位置坐标中创建了多个标记。

现在,我需要为所有标记添加诸如TAG之类的标识符,以对特定标记执行操作。

如果TAG或其他标识符选项在Google Map iOS sdk中不可用,请建议我如何对其进行存档。

提前致谢。

最佳答案

我要做的是仅继承GMSMarker并向其中添加所需的任何数据,我想这是您拥有的最好,最简单的选择。

@interface ATGoogleMapsSelectiveMarker : GMSMarker

@property (nonatomic) int markerID;
@property (nonatomic) int order;
@property (strong, nonatomic) NSObject* referenceObject;
@property (nonatomic) BOOL selected;

@end

编辑:

我认为这很清楚,但是我将继续介绍如何获取数据...当您创建标记并将其添加到 map 时,您将创建ATGoogleMapsSelectiveMarker并将其添加到 map 中,然后将所需的所有内容填满,然后您将任何想要的类注册为实现GMSMapViewDelegate的委托(delegate),并实现此方法
- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {
    // Here you are sure that your marker object is of type ATGoogleMapsSelectiveMarker but it won't harm to double check
   if ([marker isKindOfClass:[ATGoogleMapsSelectiveMarker class]]) {
       ATGoogleMapsSelectiveMarker* parsedMarker = (ATGoogleMapsSelectiveMarker*)marker;
       NSLog(@"%d", parsedMarker.markerId);
   }

    return YES;
}

10-08 11:51