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