当用户点击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;
}
有趣的是我之前使用的是Mapbox
,并且在didSelectAnnotation
函数中做了完全相同的事情,一切都运行得很好。我最近不得不切换到谷歌地图,现在它无法正常工作。
感谢任何帮助。谢谢。
答案 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
会显示正确的尺寸,并在故事板中进行设置。