1

我正在使用谷歌地图 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];
}

这些我的标记代码片段添加到谷歌地图中,​​我附上了可以帮助你的图片。任何人都可以帮助我。谢谢

4

1 回答 1

0

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

实施 Google Map Delegate

@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;
}

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

于 2014-09-05T08:07:01.090 回答