ios - 谷歌地图 ios sdk 信息窗口只出现在 2 个水龙头上

标签 ios objective-c google-maps xcode7.2

我正在使用 google maps ios sdk。 我已经为信息窗口创建了一个自定义 xib 文件。

我遇到的问题是,每当我点击标记时,谷歌地图会自动将标记置于中心,然后在下一次点击时显示 info window

我想要的是点击的标记应该立即显示信息窗口,而不是第二次点击

这是我正在使用的代码

- (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker {

    if (marker != self.pointMarker) {
        if (!self.shuttleInfoWindow) {
            [self initShuttleInfoWindowObject];
        }

        Shuttle* shuttle = (Shuttle*)marker.userData;
        if (shuttle) {
            [self.shuttleInfoWindow setCurrentShuttle:shuttle];

        }
        self.shuttleInfoWindow.isInfoWindowDisplayed = YES;
        return self.shuttleInfoWindow;
    }
    return nil;


}


- (void)initShuttleInfoWindowObject {
    self.shuttleInfoWindow =  [[[NSBundle mainBundle] loadNibNamed:@"InfoWindow" owner:self options:nil] objectAtIndex:0];
    [self.shuttleInfoWindow setFrame:CGRectMake(0,
                                                0,
                                                self.shuttleInfoWindow.frame.size.width,
                                                self.shuttleInfoWindow.frame.size.height)];
    self.shuttleInfoWindow.delegate = self;
}

最佳答案

试着写这个委托(delegate):

- (BOOL)mapView:(GMSMapView*)mapView didTapMarker:(GMSMarker*)marker
{
    [mapview setSelectedMarker:marker];
    return YES;
}

关于ios - 谷歌地图 ios sdk 信息窗口只出现在 2 个水龙头上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38240921/

相关文章:

android - Google Places Android 显示错误 "place fields must not be empty"?

ios - 无法将类型 'P?' 的返回表达式转换为返回类型 'UIViewController'

ios - 如何从 Xcode UI 测试访问核心数据存储?

ios - 内存管理(带有图像的 UICollectionView)

objective-c - 如何将 tableviewCell 填充到另一个 View Controller ?

ios - 如何创建一个方法并在另一个方法中使用它

javascript - 如何为 Google Maps V3 中的所有标记创建一个事件处理程序?

ios - NSThread gtm_performBlock 错误

php - 确定数据库是否已更改的最佳方法?

ios - 在 Objective-C 的 TableView 中给出没有任何部分的部分索引以对单个 NSArray 进行排序?