当使用 Swift 移动地图时隐藏 Google 地图信息 window

Hide Google Map info window when map is moved with Swift

所以对于我的应用程序,我在 GMS 标记上显示自定义信息 window。此信息 window 占据了屏幕的上半部分,我不希望它随标记一起移动。所以我想在地图移动后立即隐藏信息 window。我该怎么做?

您可以使 UIViewController 符合 GMSMapViewDelegate,然后实施此处列出的方法之一:https://developers.google.com/maps/documentation/ios-sdk/reference/protocol_g_m_s_map_view_delegate-p
我想第一个 (mapView:willMove:) 对你有用。我会使用打印语句(或断点)来检查该方法是否按预期触发。要隐藏当前信息 window,您应该可以设置 mapView.selectedMarker = nil.
总而言之,您的代码可能如下所示:

import UIKit
import GoogleMaps

class ViewController: UIViewController {
    
    //declare your map, etc.
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // setup your map
    }
}

extension ViewController: GMSMapViewDelegate {
    func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {
        if gesture { //The map was moved by the user
            //mapView.selectedMarker = nil
        }
    }
}