gpt4 book ai didi

ios - 在 iOS 中显示相同文本的多个信息窗口

转载 作者:行者123 更新时间:2023-11-28 21:32:41 25 4
gpt4 key购买 nike

我已经实现了 infoWindow 来显示我的多个标记的数据。但是我只能通过信息窗口显示所有相同的数据。

如何显示与该标记相关的数据,以便不重复?

这是我的代码:

     for (int i = 0 ; i < jsonDataDict.count; i ++) {
NSDictionary *newDict = [jsonDataDict objectAtIndex:i ];

double latitude = [[newDict valueForKey:@"lat"]doubleValue];
double longitute = [[newDict valueForKey:@"lng"]doubleValue];


nameStr = [newDict valueForKey:@"name"];


countJson = i ;

CLLocationCoordinate2D position = CLLocationCoordinate2DMake(latitude, longitute);
GMSMarker *marker = [GMSMarker markerWithPosition:position];
marker.title = [newDict valueForKey:@"name"];
// marker.icon = [UIImage imageNamed:@"pin11.png"];
marker.icon = [self image:[UIImage imageNamed:@"pinPopoye.png"] scaledToSize:CGSizeMake(75.0f, 60.0f)];
marker.appearAnimation = kGMSMarkerAnimationPop;
marker.infoWindowAnchor = CGPointMake(1.1, 0.70);
marker.map = self.mapView;
[self mapView:self.mapView markerInfoWindow:marker];


}
}

- (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker
{ UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 60, 25)];
customView.backgroundColor = [UIColor colorWithRed:71.0/255.0 green:65.0/255.0 blue:65.0/255.0 alpha:0.8];
customView.layer.cornerRadius = 5;
customView.layer.masksToBounds = YES;

// Orange Color ==== [UIColor colorWithRed:254.0/255.0 green:165.0/255.0 blue:4.0/255.0 alpha:0.5];
UILabel *nameLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 60, 10)];
nameLabel.text = nameStr;
nameLabel.textColor = [UIColor whiteColor];
nameLabel.textAlignment = NSTextAlignmentCenter;
nameLabel.font = [UIFont systemFontOfSize:8.0];
[customView addSubview:nameLabel];

return customView;
}

最佳答案

替换这条语句:

nameLabel.text = nameStr;

与:

nameLabel.text = marker.title;

问题是您使用了一个共享的 NSStringnameStr,它在您的 for 循环的每次迭代中都会被覆盖。因此,所有标签在最终显示时共享相同的字符串值。你也可以这样做:

nameLabel.text = [nameStr copy];

它应该可以工作——但我认为在您的代码中使用 nameStr 只是之前一些“hack”的残余。

关于ios - 在 iOS 中显示相同文本的多个信息窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35269864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com