如何在 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)
我想在点击的标记右侧显示自定义信息窗口。
默认情况下,信息 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)