2016-07-07 5 views
0

Я использую google maps ios sdk. Я создал пользовательский файл xib для информационного окна.Google map ios sdk info window появляется только на 2 кранах

Проблема, которую я получаю - всякий раз, когда я нажимаю маркер, карта google автоматически делает маркер в центре, а затем на следующем кране info window.

То, что я хочу это постучала маркер должен отображать info window немедленно вместо крана на второй раз

Вот код, я использую

- (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker { 

    if (marker != self.pointMarker) { 
     if (!self.shuttleInfoWindow) { 
      [self initShuttleInfoWindowObject]; 
     } 

     Shuttle* shuttle = (Shuttle*)marker.userData; 
     if (shuttle) { 
      [self.shuttleInfoWindow setCurrentShuttle:shuttle]; 

     } 
     self.shuttleInfoWindow.isInfoWindowDisplayed = YES; 
     return self.shuttleInfoWindow; 
    } 
    return nil; 


} 


- (void)initShuttleInfoWindowObject { 
    self.shuttleInfoWindow = [[[NSBundle mainBundle] loadNibNamed:@"InfoWindow" owner:self options:nil] objectAtIndex:0]; 
    [self.shuttleInfoWindow setFrame:CGRectMake(0, 
               0, 
               self.shuttleInfoWindow.frame.size.width, 
               self.shuttleInfoWindow.frame.size.height)]; 
    self.shuttleInfoWindow.delegate = self; 
} 

ответ

3

попробовать написать этот делегат:

- (BOOL)mapView:(GMSMapView*)mapView didTapMarker:(GMSMarker*)marker 
{ 
    [mapview setSelectedMarker:marker]; 
    return YES; 
} 
+0

Вы работали над Google Maps iOS SDK? –

+0

да, я работал над этим –

+0

хорошо. можете ли вы рассказать мне, как мы можем центрировать карту на выбранном маркере, а затем отображать информационное окно. Обе задачи в одном касании –