适用于iOS的自定义Google地图标记(GMSMarker)

时间:2015-01-29 13:39:13

标签: ios google-maps google-maps-sdk-ios

我正在尝试为Google地图创建一个自定义标记,但我的代码给了我一个奇怪的空间视图,如图所示:

白视图是什么?如何删除它?它应该只是红色的!

-(UIView *)mapView:(GMSMapView *)mapView markerInfoContents:(GMSMarker *)marker{
    UIView *infoView = [UIView new];
    infoView.frame = CGRectMake(0, 0, 290, 192);
    // Setting the bg as red just to illustrate
    infoView.backgroundColor = [UIColor redColor];
    return infoView;
}

enter image description here

2 个答案:

答案 0 :(得分:4)

我可能有点生疏,但这不是错误的功能吗?

有一个markerInfoWindow和一个markerInfoContents(你正在使用它)。 窗口是整个窗口,而内容是一个视图,它将被放置在默认的信息窗口框架

看看here

答案 1 :(得分:1)

这个白色背景背后的原因是你使用了错误的委托方法。用以下代码替换您的代码:

-(UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker{
    UIView *infoView = [UIView new];
    infoView.frame = CGRectMake(0, 0, 290, 192);
    // Setting the bg as red just to illustrate
    infoView.backgroundColor = [UIColor redColor];
    return infoView;
}