Настраиваемое информационное окно для маркера Google Maps SDK, Swift 2.0


Я пытаюсь реализовать это (https://www.youtube.com/watch?v=ILiBXYscsyY ) пользовательский учебник InfoWindow, который был сделан для Objective-C в Swift 2.0. Я попытался сделать это, просто совместив Objective-C и Swift-код, но мне не удалось перевести

- (UIView *) mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker {
    CustomInfoWindow *infoWindow = [[[NSBundle MainBundle] loadNibNamed:@"InfoWindow" owner:self options:nil] objectAtIndex:0];
    infoWindow.name.text = @"Syndey Opera House";
    infoWindow.address.text = @"Bennelong Point, Sydney";
    infoWindow.photo.image = [UIImage imageNamed:@"SydneyOperaHouseAtNight"];

    return infoWindow;
}

В Swift. Эту часть урока можно найти в 3: 07 видео.

Я хотел бы получить некоторую помощь в переводе этого учебника на Swift 2.0 или если кто-нибудь знает хороший учебник этого для Swift 2.0 это было бы очень ценно.

2 3

2 ответа:

Вот код swift для вышеуказанного:

func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! {
         let infoWindow = NSBundle.mainBundle().loadNibNamed("InfoWindow", owner: self, options: nil).first as! CustomInfoWindow
        infoWindow.name.text = "Sydney Opera House"
        infoWindow.address.text = "Bennelong Point Sydney"
        infoWindow.photo.image = UIImage(named: "SydneyOperaHouseAtNight")
        return infoWindow
    }

Вот код для Swift3:

func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
    let infoWindow = Bundle.main.loadNibNamed("InfoWindow", owner: self, options: nil)?.first as! CustomInfoWindow
    infoWindow.name.text = "Sydney Opera House"
    infoWindow.address.text = "Bennelong Point Sydney"
    infoWindow.photo.image = UIImage(named: "SydneyOperaHouseAtNight")
    return infoWindow
}