【发布时间】:2015-11-14 23:40:48
【问题描述】:
我已经在我的项目中实现了一个自定义的 Google Maps Marker InfoWindow,但是,当在地图上添加多个标记时,我不知道如何将额外的数据传递给自定义 InfoWindow。我创建了一个在添加每个标记之前更新的全局变量,但这不起作用。
到目前为止,这是我的代码:
...
NSString *markerDesc;
NSString *markerTimeLeft;
NSString *markerDistance;
...
- (UIView *) mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker
{
CustomInfoWindow *infoWind = [[[NSBundle mainBundle] loadNibNamed:@"InfoWindow" owner:self options:nil] objectAtIndex:0];
infoWind.lblTitle.text = marker.title;
infoWind.imgCategory.image = marker.icon;
infoWind.lblTimeLeft.text = markerTimeLeft;
infoWind.lblDistance.text = markerDistance;
infoWind.txtDescription.text = markerDesc;
return infoWind;
}
标题和图标显示正常。其他(markerTimeLeft、markerDistance、markerDesc)显示,但每个标记显示相同的数据。我觉得这是因为 markerInfoWindow 委托只被调用一次,因此只加载这些变量一次。非常感谢任何方向。
【问题讨论】:
标签: ios google-maps google-maps-sdk-ios