ViewController没有在Google Map上显示didTapMarker方法 - iOS

时间:2015-09-07 11:41:52

标签: ios objective-c google-maps mapbox google-maps-sdk-ios

当用户点击DetailViewController上的marker时,我会显示mapView_。最初我加载VC并将其设置为隐藏,当用户点击marker时,我会在VC中加载值并显示它。但它没有发生。这是我的代码。

@property (strong, nonatomic) GMSMapView *mapView;

- (void)viewDidLoad 
{
    [super viewDidLoad];

    _whisperDetailView.hidden = YES;

    [_whisperDetailView initlize];
    _whisperDetailView.viewController = self;

    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6];
    mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
    mapView_.myLocationEnabled = YES;
    self.view = mapView_;
}



- (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker
{

    _detailView.whisper = marker.userData;
    _detailView.hidden = NO;

    return YES;
}

故事板快照:Storyboard

有趣的是我之前使用的是Mapbox,并且在didSelectAnnotation函数中做了完全相同的事情,一切都运行得很好。我最近不得不切换到谷歌地图,现在它无法正常工作。

感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

好的,我现在已经开始工作了!为其他遇到同样情况的人发布答案:

我改变了添加 @Override protected void onPostExecute(result) { if (!isCancelled()) { if (mDialog.isShowing()) { mDialog.dismiss(); } } } 的方式。我没有在String[] s = {"national", "fajfjlajllfsjakljf", "fj", "alkfjklajf" ,"jafl", "fjlajl" , "international" , "jfalkj jalkfjda national" , "inter-national", "international", "inter_national"}; java.util.regex.Pattern p = Pattern.compile("^(national)+$"); int count = 0; for (int i = 0; i < s.length; i++) { if (p.matcher(s[i]).find()) { count++; System.out.println("true"); } } 中分配mapView_,而是将self.view = mapView作为子视图插入到我的主viewDidLoad中,如下所示:

mapView

唉!现在一切都像魅力一样!当我点按标记时,我的view会显示正确的尺寸,并在故事板中进行设置。