ios - 如何添加 ScrollView 作为信息窗口谷歌地图ios

标签 ios google-maps uiscrollview google-maps-sdk-ios

我的客户需要在集成在我的应用程序中的谷歌地图的信息窗口中添加更多信息。所以我决定使用 ScrollView 作为信息窗口。我正在使用方法 - (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker 来表示 map 顶部的 ScrollView 。

这是我的代码:

- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker {


       self.propertyNameLabel.text = marker.title;

       self.addressLabel.text = marker.snippet;


      [self.scrollViewTest setContentSize:CGSizeMake(600.00, 610.00)];

      [self.searchMap addSubview:self.scrollViewTest];


      UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleMoreTap)];
     tapGestureRecognizer.numberOfTapsRequired = 1;
    [self.moreLabel addGestureRecognizer:tapGestureRecognizer];
    self.moreLabel.userInteractionEnabled = YES;
    [tapGestureRecognizer release];


    return YES;

}

当我单击标记时,会显示 ScrollView ,但滚动不起作用。我已经设置了内容大小,但它仍然不起作用。请帮帮我,

谢谢。

最佳答案

从markerInfoWindow委托(delegate)方法返回的 View 不允许是交互式的。 Google map 似乎只是拍摄 View 快照并将其添加为图像,因此按钮、 ScrollView 等不起作用。

解决方案是在 didTapInfoWindowOfMarker 中创建一个单独的 View 并将其作为 subview 添加到主视图(也包含 mapView 的 View )。当然,这确实会产生其他复杂性,因为它不以任何方式绑定(bind)到 map View ,因此您需要自己管理关闭它等。

关于ios - 如何添加 ScrollView 作为信息窗口谷歌地图ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23760362/

相关文章:

ios - 在 map View 中的任何地方单击时隐藏自定义注释 View

google-maps - 文件 :///的 Google Maps API key 引用

ios - UITableView 在 ScrollView 内部时的滚动问题

javascript - 从 url 哈希中获取元素 ID 并触发它的点击处理程序

iphone - UIButton 的触摸检测添加为 UIScrollView 中的 subview

ios - 如何同时滚动多个tableview

ios - 如果我希望产品名称包含无效*字符,我应该如何设置我的应用程序设置?

ios - 如何找到相关文章

ios - Typhoon:将子类属性从 withFactory:selector: 注入(inject)样式注入(inject)到定义中

ios - 适用于 iOS 的 Google map API - 不显示标记