我已经搜索了好几天了。发现以前这是不可能的,但他们最近实施了它。
Issue link 但是没有关于如何实现它的适当文档。我尝试通过以下方法设置标记的标题值。
- (void)renderer:(id<GMUClusterRenderer>)renderer willRenderMarker:(GMSMarker *)marker {
if ([marker.userData isKindOfClass:[ClusterMakerItem class]]) {
ClusterMakerItem *item = (ClusterMakerItem *)marker.userData;
if([item.type isEqualToString:@"1"]){
marker.icon = [UIImage imageNamed:@"mapIconsEvent"];
}else if([item.type isEqualToString:@"2"]) {
marker.icon = [UIImage imageNamed:@"mapIconsPromo"];
}else{
marker.icon=[UIImage imageNamed:@"mapIconsUpdate"];
}
marker.title = item.name;
// Center the marker at the center of the image.
marker.groundAnchor = CGPointMake(0.5, 0.5);
} else if ([marker.userData conformsToProtocol:@protocol(GMUCluster)]) {
marker.title = @"This is a cluter";
}
}
该方法被调用,但信息窗口不会显示任何地图标记/群集。有没有人设法让它真正起作用?或者我正在尝试做一些目前无法做到的事情?任何帮助将非常感激。我也尝试了以下内容。仍然没有运气。
- (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker{
NSLog(@"markerInfoWindow");
ClusterMakerItem *item = (ClusterMakerItem *)marker.userData;
NSArray * arr =[[NSBundle mainBundle] loadNibNamed:@"CustomMapWindow" owner:self options:nil];
CustomMapWindow *customView = [arr firstObject];
customView.titleLbl.text = item.name;
return customView;
}
以上方法不会被解雇。