使用Google地图iOS sdk在swift中创建自定义信息窗口?

时间:2015-04-05 21:02:29

标签: ios google-maps swift sdk infowindow

我创建了一个xib和一个视图控制器,并希望在swift中为标记显示一个自定义信息窗口。在互联网上搜索后,我在OBJ-C中找到了一个旧教程,但这对我没有帮助。

谢谢。

1 个答案:

答案 0 :(得分:8)

您可以从GMSMapViewDelegate

实施markerInfoWindow method

在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
 }

您可以访问this GitHub page了解详细信息。

取决于您希望信息窗口的样子,您可以通过infoWindow.backgroundColor = UIColor.redColor()更改背景颜色,或通过执行infoWindow.layer.cornerRadius = 10.0f更改信息窗口的形状,甚至添加图像做infoWindow.imageView.image = UIImage(named: "image.jpg")