还有其他人遇到这种情况吗?我正在使用最新的适用于 iOS 的 Google Maps SDK。这就是我在 didTapInfoWindowOfMarker 方法中所拥有的:
- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(id<GMSMarker>)marker {
NSLog(@"yes");
}
在我的输出中没有得到任何响应。
还有其他人遇到这种情况吗?我正在使用最新的适用于 iOS 的 Google Maps SDK。这就是我在 didTapInfoWindowOfMarker 方法中所拥有的:
- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(id<GMSMarker>)marker {
NSLog(@"yes");
}
在我的输出中没有得到任何响应。
听起来您没有为 GMSMapView 对象添加委托和协议,例如:
mapView_.delegate = self;
在 loadView 方法中。
因此,完整 - (void)loadView
和委托方法应该是:
@interface ViewController () <GMSMapViewDelegate> // Add this if you haven't
{
id<GMSMarker> myMarker;
}
- (void)loadView {
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683
longitude:151.2086
zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView_.myLocationEnabled = YES;
mapView_.delegate = self; // This sets the delegate for map view
self.view = mapView_;
}
- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(id<GMSMarker>)marker {
NSLog(@"yes"); // And now this should work.
}