【问题标题】:Google Maps Custom InfoWindow Multiple Markers谷歌地图自定义信息窗口多个标记
【发布时间】: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


    【解决方案1】:

    作为一种解决方法,我使用我需要的额外数据设置了 marker.title 和 marker.sn-p 字段。我用我选择的分隔符分隔小段数据,然后解析字符串以填充我需要的其他字段。这足以解决我面临的问题。

    【讨论】:

      猜你喜欢
      • 2019-06-03
      • 1970-01-01
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 2013-06-28
      • 2018-01-19
      相关资源
      最近更新 更多