谷歌地图标记隐藏在uisearchbar内,不显示在地图的中心

时间:2014-09-05 06:57:45

标签: ios iphone google-maps gmsmapview

我正在使用google map api显示位置和搜索栏以搜索该位置但是当GSMMarker显示它时,它会隐藏在uisearchbar里面,所以任何人都可以帮助我。

-(void) setupMarkerOnMap:(CLLocation *)loc PlaceName:(NSString *) strCityName
{
    [[self getGoogleMap] clear];
    [self getNextButton].enabled = YES;
    placeMarker = [GMSMarker markerWithPosition:loc.coordinate];
    placeMarker.map = [self getGoogleMap];
    [placeMarker setTappable:NO];

    placeMarker.snippet = strCityName;
    placeMarker.icon = [UIImage imageNamed:@"LocationMarker.png"];
    GMSCameraUpdate *updateCamera = [GMSCameraUpdate setTarget:placeMarker.position zoom:10.0];
    [[self getGoogleMap] animateWithCameraUpdate:updateCamera];
    [[self getGoogleMap] setSelectedMarker:placeMarker];
}

这些我在Google地图中添加标记的代码片段和附加图片可以帮到您。 任何人都可以帮助我。 感谢

1 个答案:

答案 0 :(得分:0)

首先,确保您的Google地图不会与搜索栏叠加在一起。然后,您可以使用委托来帮助您在点击任何标记时动画标记在Google地图内的位置。示例代码: -

实施Google地图代理

@interface YourViewController ()<GMSMapViewDelegate>
@property (weak, nonatomic) IBOutlet GMSMapView *mapView;
@end

将mapView Delegate设置为当前视图控制器

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.mapView.delegate = self;
}

每当点击一个标记时,

-(BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker{
    [mapView animateToLocation:marker.position];
    return YES;
}

如果您已正确设置所有内容且地图足够大,则应在地图内很好地显示信息窗口。