我正在使用Google Maps SDK for iOS创建自定义标记信息窗口。默认(第一个图像)将锚点放在标记的正上方。
我创建了一个自定义xib
150x150 pts
的自定义视图,并将其加载到代理中:
func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView?
我如何制作与默认渲染相同的效果,如果可能的话,还会在标签下创建阴影效果?
这是内置于SDK吗?
答案 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
相同的技术。