Вы можете осуществить реализацию образца в markerInfoWindow method от GMSMapViewDelegate
, чтобы показать пользовательские информационное окно в 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")
.
Есть ли способ сделать это больше похожим на информационное окно, а не на квадратный квадрат. – user3280937
См. Мой отредактированный ответ @ user3280937, это действительно зависит от того, как вы хотите, чтобы ваше информационное окно выглядело, вы можете сделать много настроек в своем xib-файле или сделать код. – ztan
он вручает viewcontroller, как я могу его решить ?? –