我正在尝试创建没有点击的标记。但我不能显示所有infoWindows。它只在最后一个标记上显示一个infowindow。
这是我的代码:
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *markersArray = [[NSMutableArray alloc] init];
for(int i=0; i<10; i++){
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(latitude, longitude);
marker.appearAnimation=YES;
marker.opacity = 0.0;
mapView.selectedMarker = marker;
marker.map = mapView;
[markersArray addObject:marker];
}
}
和自定义Infowindow:
- (UIView*)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker {
CustomInforwindow *customView = [[[NSBundle mainBundle] loadNibNamed:@"CustomInforwindow" owner:self options:nil] objectAtIndex:0];
return customView;
}
答案 0 :(得分:7)
您可以一次显示一个InfoWindow。
mapView.selectedMarker = marker; this will open the infowindow for the last marker
如果要显示多个标记,则应创建包含标记和信息窗口的标记。
希望这有帮助。
答案 1 :(得分:0)
将两个标记放在同一个位置(两者之间保持一定的间隙)并删除两者之间的相互作用。例如:
marker1.position = Locationcoorsinate2dobject;
marker2.position = Locationcoorsinate2dobject;
marker1.tappable = false;
marker2.tappable = false;
现在魔术将会发生:
marker2.icon = [UIImage imageNamed:@"yourinfowindow.png"];
marker2.groundanchor = CGPointMake(marker1.groundanchor.x, marker1.gorundanchor.y + 2.7);
希望这有助于快乐编码:)