如何在Google Map iOS SDK中获取特定的标记ID

Bal*_*i G 6 google-maps objective-c ios google-maps-sdk-ios

我正在研究谷歌地图iOS sdk.在这里,我在不同的位置坐标中创建多个标记.

现在我需要为所有标记添加像TAG这样的标识符来执行特定标记的操作.

如果谷歌地图iOS sdk中没有TAG或其他标识符选项,请建议我如何存档.

提前致谢.

Bod*_*ljo 8

我所做的就是我只是继承了GMSMarker并添加了我需要的任何数据,我想这是你拥有的最好和最简单的选择.

@interface ATGoogleMapsSelectiveMarker : GMSMarker

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

@end
Run Code Online (Sandbox Code Playgroud)

编辑:

我认为很清楚但我将继续如何获取数据...当您创建标记并将其添加到地图时,您创建ATGoogleMapsSelectiveMarker并在您填写所需的所有内容后将其添加到地图中,然后您注册任何您想要的类作为实现GMSMapViewDelegate的委托,并实现此方法

- (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;
}
Run Code Online (Sandbox Code Playgroud)