iOS:Google Maps API - 自定义MarkerInfoWindow Anchor

时间:2017-05-26 18:44:41

标签: ios swift google-maps swift3 google-maps-sdk-ios

我正在使用Google Maps SDK for iOS创建自定义标记信息窗口。默认(第一个图像)将锚点放在标记的正上方。

我创建了一个自定义xib 150x150 pts的自定义视图,并将其加载到代理中:

func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView?

我如何制作与默认渲染相同的效果,如果可能的话,还会在标签下创建阴影效果?

这是内置于SDK吗?

enter image description here [enter image description here]

1 个答案:

答案 0 :(得分:1)

你可以像这样设置你的infoWinwod锚:marker.infoWindowAnchor = CGPoint(x: 0.5, y: 0.4)你可以在里面做

func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
        let infoWindow = Bundle.main.loadNibNamed("CustomInfoWindow", owner: self.view, options: nil)!.first! as! CustomInfoView
        marker.infoWindowAnchor = CGPoint(x: 0.5, y: 0.4)
        return infoWindow
    }

理论上,如果你想在infoWindow下面有三角形,你可以创建图像并将其放在自定义的infoWindow中,并将视图背景设置为清晰的颜色。

要提供影子,您可以使用与将其添加到任何其他UIView相同的技术。