如何在 iOS 的右侧显示 Google 地图信息 window

How to display a Google Maps info window on the right side in iOS

我想在点击的标记右侧显示自定义信息窗口

默认情况下,信息 window 显示在信息 window 和

的顶部
let anchorPoint = CGPointMake(0.5, 0.0).

为了在右侧显示我的信息 window,我必须将其固定在标记的右下角。所以我像这样更改了信息 window 锚点:

func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! { 

    //load info window from xib
    //let infoView = ...
    let infoWindowAnchor = marker.infoWindowAnchor
    let newAnchor = CGPointMake(1.0, 1.0)
    marker.infoWindowAnchor = newAnchor
    //...

    return infoView       
}

但是由于信息 window 的底部以标记的锚点为中心,我必须将信息标记的 x 位置增加 0.5 * infoMarker.width 并在必要时重新调整相机。我不知道该怎么做。

基本上我正在寻找 iOS 向信息 window 添加偏移量的方法(相当于 JS API 中的 pixelOffset)。

在任何时候设置 infoWindowanchor 都可以工作,例如在创建标记时(如果所有 infowindow 的大小都相同) 以下对我有用:

        let marker1 = GMSMarker()
        marker1.position = coordinatesLocationOne
        marker1.title = "US"
        marker1.snippet = "US"
        marker1.infoWindowAnchor = CGPoint(x: 2.5, y: 2.5)