Я работаю в Google maps для своего проекта. Мне нужно показать изображение с заголовком в InfoWindow. Для этого у меня есть новый XIB. Теперь все работает нормально, за исключением положения окна InfoWindow. Я не могу правильно установить ось Y InfoWindow. Пожалуйста, помогите мне с этим.
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
var markerData : NSDictionary?
if let data = marker.userData! as? NSDictionary {
markerData = data
}
locationMarker = marker
infoWindow.removeFromSuperview()
infoWindow = loadNiB()
guard let location = locationMarker?.position else {
print("locationMarker is nil")
return false
}
infoWindow.spotData = markerData
infoWindow.alpha = 0.9
infoWindow.layer.cornerRadius = 12
let name = markerData!["name"]!
let imageUrl = markerData!["img"]!
infoWindow.name.text = "\(name)"
let trimmedUrl = (imageUrl as AnyObject).trimmingCharacters(in: CharacterSet(charactersIn: "")).replacingOccurrences(of: " ", with: "%20")
var activityLoader = UIActivityIndicatorView()
activityLoader = UIActivityIndicatorView(style: .gray)
activityLoader.center = infoWindow.imgMarker.center
activityLoader.startAnimating()
infoWindow.imgMarker.addSubview(activityLoader)
infoWindow.imgMarker.sd_setImage(with: URL(string: trimmedUrl), completed: { (image, error, imageCacheType, imageUrl) in
if image != nil
{
activityLoader.stopAnimating()
}
else
{
print("image not found")
activityLoader.stopAnimating()
}
})
// Offset the info window to be directly above the tapped marker
infoWindow.center = mapView.projection.point(for: location)
infoWindow.center.y = infoWindow.center.y - 82
self.view.addSubview(infoWindow)
return false
}