2017-04-11 4 views
0

In Android beim Tippen auf einen Marker zwei Schaltflächen auf dem Bildschirm unten für die Richtung zeigen und Google Maps öffnen. Auf iOS-Tap-Markern wird jedoch nur das Info-Fenster angezeigt.Google Maps iOS - Tippen Sie auf Marker, um die standardmäßigen Google Routenplaner-Schaltflächen anzuzeigen

Ich muss die Info-Fenster und Wegbeschreibungen und Google Maps-Schaltflächen auf tippen Marker wie in Android zeigen.

Mein Code für das Hinzufügen von Markierungen:

GMSMarker *marker = [[GMSMarker alloc] init]; 
marker.position = [(CLLocation*)dict[@"position"] coordinate]; 
marker.icon = [GMSMarker markerImageWithColor:[UIColor ubnBlue]]; 
marker.title = dict[@"title"]; 
marker.snippet = dict[@"snippet"]; 
marker.appearAnimation = kGMSMarkerAnimationPop; 
marker.tappable = YES; 
marker.map = mapView_; 
+0

Ich werde dir helfen – user3182143

Antwort

0

Sie zuerst GMSMapViewDelegate Methode

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

- (UIView *GMS_NULLABLE_PTR)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker 
{ 
    NSLog(@"The amrker snippet is - %@",marker.snippet); 
    if([marker.snippet isEqualToString:@"your string"]) //check here 
    { 
     ....//Do the stuff here 
    } 
} 
0

Zuerst Sie die delegierte Methode in yourController.h festlegen müssen Datei dann können Sie damit umgehen, indem die Verwendung von methode

- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker { 

return Yes; 

} 

um das Info-Fenster zu zeigen, müssen Sie eineanrufen

0

GMSMarker hat Eigenschaft iconView. Sie können UIView zu iconView zuweisen.

Implementieren GMSMapViewDelegate Delegatmethoden

(BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker { 

} 

Jetzt können Sie die Ansicht ändern, wie Sie benötigen.