Creating custom info window in swift with the Google maps iOS sdk?

user3280937 picture user3280937 · Apr 5, 2015 · Viewed 9.7k times · Source

I have created a xib and a view controller, and want to display it a customised info window for a marker in swift. After searching on the Internet I have found an old tutorial in OBJ-C however this will not help me.

Thank you.

Answer

ztan picture ztan · Apr 6, 2015

You can implement the markerInfoWindow method from GMSMapViewDelegate

Sample implementation to show an custom info window in Swift:

 func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! {
        var infoWindow = NSBundle.mainBundle().loadNibNamed("CustomInfoWindow", owner: self, options: nil).first! as CustomInfoWindow
        infoWindow.label.text = "\(marker.position.latitude) \(marker.position.longitude)"
        return infoWindow
 }

You can visit this GitHub page for detail implementation.

Depends on how you want your info window looks like, you can change the background color by doing infoWindow.backgroundColor = UIColor.redColor(), or change the shape of your info window by doing infoWindow.layer.cornerRadius = 10.0f, or even add an image by doing infoWindow.imageView.image = UIImage(named: "image.jpg").