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

Posted

技术标签:

【中文标题】谷歌地图 ios sdk 信息窗口仅在 2 次点击时出现【英文标题】:Google map ios sdk info window only appear on 2 taps 【发布时间】:2016-07-07 08:35:58 【问题描述】:

我正在使用谷歌地图 ios sdk。 我为信息窗口创建了一个自定义 xib 文件。

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

我想要的是被点击的标记应该立即显示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】:

尝试编写此委托:

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

    [mapview setSelectedMarker:marker];
    return YES;

【讨论】:

好的。你能告诉我我们如何将地图集中在选定的标记上,然后显示信息窗口。一键完成两项任务 可以设置,camera = [GMSCameraPosition cameraWithLatitude:currentLoc.coordinate.latitude longitude:currentLoc.coordinate.longitude zoom:17.0]; [_viewMap animateToCameraPosition:camera]; @RahulVyas :如果您曾在 VIdeos 上工作过,请您帮忙:***.com/questions/38242159/… 尝试设置相机但没有成功。当我们将相机居中时,第二次点击会再次打开信息窗口 我们这样做了,但我们不会不使用 UIImageview

以上是关于谷歌地图 ios sdk 信息窗口仅在 2 次点击时出现的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式关闭标记的信息窗口谷歌地图 iOS

谷歌地图的自定义信息窗口

通过单击地图关闭谷歌地图中的信息窗口?

谷歌地图 v2 使信息窗口不可点击

在谷歌地图中点击标记添加信息窗口

如何在谷歌地图上显示多个信息窗口?