如何在iOS右侧显示Google地图信息窗口

时间:2016-01-25 11:24:16

标签: ios google-maps google-maps-api-3 google-maps-sdk-ios

我想在已点按的标记右侧显示自定义infoWindow

默认情况下,信息窗口显示在信息窗口的顶部,带有

let anchorPoint = CGPointMake(0.5, 0.0).

为了在右侧显示我的信息窗口,我必须将其锚定在我的标记的右下角。所以我改变了信息窗口锚点,如下所示:

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       
}

但由于信息窗口的底部以标记的锚点为中心,我必须将信息标记x位置增加 0.5 * infoMarker.width 并重新调整必要时相机。我不知道如何做到这一点。

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

1 个答案:

答案 0 :(得分:2)

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

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