- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在我的 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
}
得到如下输出
信息窗口重叠并显示底部边缘,如下所示。信息窗口上的按钮也没有被点击。请帮忙。
最佳答案
根据我的经验,- mapView:markerInfoContents:
有一些问题。就我而言,我最终使用了 - mapView:markerInfoWindow:
反而。在这种情况下,您必须自己绘制气球图像,如下所示:
Also button on info window not getting clicked.
作为documented on the bottom of this , markerInfoWindow 呈现为图像,但不是真正的 UIView
。
Note: The info window is rendered as an image each time it is displayed on the map. This means that any changes to its properties while it is active will not be immediately visible. The contents of the info window will be refreshed the next time that it is displayed.
它不接收任何 UI 事件。所以,遗憾的是,markerInfoWindow 上的任何 UIControl
都是无用的。唯一受支持的方法是使用 - mapView:didTapInfoWindowOfMarker:
委托(delegate)方法,这意味着您不能在信息窗口上定义多个可点击区域。
关于ios - 谷歌地图在标记信息窗口 iOS 中显示语音气泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380808/
leaflet:一个开源并且对移动端友好的交互式地图 JavaScript 库 中文文档: https://leafletjs.cn/reference.html 官网(英文): ht
我是一名优秀的程序员,十分优秀!