我的客户需要在集成在我的应用程序中的谷歌地图的信息窗口中添加更多信息。所以我决定使用 ScrollView 作为信息窗口。我正在使用方法 - (BOOL)mapViewGMSMapView *)mapView didTapMarkerGMSMarker *)marker 在 map 顶部表示我的 ScrollView 。
这是我的代码:
- (BOOL)mapViewGMSMapView *)mapView didTapMarkerGMSMarker *)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 actionselector(handleMoreTap)];
tapGestureRecognizer.numberOfTapsRequired = 1;
[self.moreLabel addGestureRecognizer:tapGestureRecognizer];
self.moreLabel.userInteractionEnabled = YES;
[tapGestureRecognizer release];
return YES;
}
当我单击标记时,会显示 ScrollView ,但滚动不起作用。我已经设置了内容大小,但仍然无法正常工作。请帮帮我,
谢谢。
Best Answer-推荐答案 strong>
markerInfoWindow 委托(delegate)方法返回的 View 不允许交互。谷歌地图似乎只是拍摄 View 的快照并将其添加为图像,因此按钮、 ScrollView 等不起作用。
解决方案是在 didTapInfoWindowOfMarker 中创建一个单独的 View 并将其作为 subview 添加到您的主视图(也包含 mapView 的那个)。当然,这确实会产生其他复杂性,因为它与 mapView 没有任何关联,因此您需要自行管理关闭它等。
关于ios - 如何将 ScrollView 添加为信息窗口谷歌地图 ios,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/23760362/
|