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

时间:2015-07-13 10:22:20

标签: ios swift google-maps

我在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

}

获得如下输出 enter image description here

信息窗口重叠并显示底部边缘,如下所示。信息窗口上的按钮也没有被点击。请帮忙。

1 个答案:

答案 0 :(得分:2)

根据我的经验,{=INDEX($B:$B,SMALL(IF($A:$A=E$1,ROW($A:$A)-MIN(ROW($A:$A))+1),ROWS($A$1:$A1)))} 有一些问题。就我而言,我最终使用了- mapView:markerInfoWindow:。在这种情况下,您必须自己绘制气球图像,如下所示:

ballon images

  

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

作为documented on the bottom of this,markerInfoWindow呈现为图像,但不是真实的- mapView:markerInfoContents:

  

注意:每次在地图上显示信息窗口时,信息窗口都会呈现为图像。这意味着在其属性处于活动状态时对其属性的任何更改都不会立即可见。信息窗口的内容将在下次显示时刷新。

它不会收到任何UI事件。于是,伤心地说,任何对markerInfoWindow UIView s是无用的。唯一受支持的方式是使用- mapView:didTapInfoWindowOfMarker:委托方法,也就是说,您无法在信息窗口中定义多个可点击区域。