Google地图在标记信息窗口中显示speechbubble iOS

我在iOS应用程序中使用GoogleMaps SDK。 我已经实现了GoogleMaps的自定义信息窗口,并将其称为我的ViewController,

func mapView(mapView: GMSMapView!, markerInfoContents marker: GMSMarker!) -> UIView! { var calloutView:CalloutView = NSBundle.mainBundle().loadNibNamed("CalloutView", owner: self, options: nil)[0] as! CalloutView views!.detailDisclosure.addTarget(self, action: "detailDisclosureButton_Clicked:", forControlEvents: UIControlEvents.TouchUpInside) views.labelText.text = "ABC Text" return views } 

并得到如下输出 在这里输入图像说明

信息窗口重叠并显示如下底部边缘。 信息窗口上的button也没有被点击。 请帮助相同。

以我的经验, - mapView:markerInfoContents:有一些问题。 在我的情况下,我最终使用- mapView:markerInfoWindow:来代替。 在这种情况下,您必须自己绘制气球图像,如下所示:

气球图像

信息窗口上的button也没有被点击。

正如在底部所logging的 ,markerInfoWindow呈现为图像,但不是真正的UIView

注意:信息窗口每次在地图上显示时都会呈现为图像。 这意味着任何对其属性进行更改的操作都不会立即显示出来。 信息窗口的内容将在下次显示时刷新。

它不会收到任何UI事件。 所以,可悲的是,markerInfoWindow上的任何UIControl都是没用的。 唯一受支持的方法是使用- mapView:didTapInfoWindowOfMarker:委托方法,这意味着,您不能在信息窗口中定义多个可单击的区域。