如何在iOS上添加自定义信息窗口和群集?

时间:2018-01-09 12:27:15

标签: ios objective-c google-maps infowindow markerclusterer

我已经搜索了好几天了。发现以前这是不可能的,但他们最近实施了它。

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;
 }

以上方法不会被解雇。

0 个答案:

没有答案