我正在使用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地图中添加标记的代码片段和附加图片可以帮到您。 任何人都可以帮助我。 感谢
答案 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;
}
如果您已正确设置所有内容且地图足够大,则应在地图内很好地显示信息窗口。