Google 地图 ios sdk 信息 window 仅在点击 2 次时出现
Google map ios sdk info window only appear on 2 taps
我正在使用 google 地图 ios sdk。
我为信息 window.
创建了一个自定义 xib 文件
我遇到的问题是,每当我点击标记时,google 地图会自动使标记居中,然后在下一次点击时显示 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;
}
尝试写这个委托:
- (BOOL)mapView:(GMSMapView*)mapView didTapMarker:(GMSMarker*)marker
{
[mapview setSelectedMarker:marker];
return YES;
}
我正在使用 google 地图 ios sdk。 我为信息 window.
创建了一个自定义 xib 文件我遇到的问题是,每当我点击标记时,google 地图会自动使标记居中,然后在下一次点击时显示 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;
}
尝试写这个委托:
- (BOOL)mapView:(GMSMapView*)mapView didTapMarker:(GMSMarker*)marker
{
[mapview setSelectedMarker:marker];
return YES;
}