代码之家  ›  专栏  ›  技术社区  ›  Rahul Vyas

谷歌地图ios sdk信息窗口仅在两次点击时出现

  •  0
  • Rahul Vyas  · 技术社区  · 9 年前

    我正在使用谷歌地图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;
    }
    
    1 回复  |  直到 9 年前
        1
  •  4
  •   Rahul Vyas    9 年前

    尝试写入此委托:

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