2015-11-14 5 views
0

Я внедрил в свой проект пользовательский указатель Google Maps MarkWorkWindow, однако я не знаю, как передавать дополнительные данные в пользовательский InfoWindow при добавлении нескольких маркеров на карту. Я создал глобальную переменную, которая обновляется до добавления каждого маркера, но это не работает.Google Maps Custom 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 вызывается только один раз и поэтому загружает эти переменные только один раз. Любое направление приветствуется.

ответ

0

Как работа, я установил поля marker.title и marker.snippet с дополнительными данными, которые мне нужны. Я выделил небольшие сегменты данных с помощью разделительного символа по своему выбору, а затем проанализировал строку, чтобы заполнить дополнительные поля, которые мне нужны. Этого было достаточно для решения проблемы, с которой я столкнулся.