我想在已点按的标记右侧显示自定义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相当)。
答案 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)