2014-05-20 2 views
2

내 고객은 내 app.Sso에 통합 된 Google지도의 정보 창에 정보를 추가해야합니다. 정보 창으로 스크롤보기를 사용하기로 결정했습니다. 메서드 - (BOOL)을 사용하고 있습니다. mapView : (GMSMapView *) mapView didTapMarker : (GMSMarker *) 마커은지도 맨 위에 내 scrollview를 나타내는 데 사용됩니다. 정보 창으로 scrollview를 추가하는 방법 Google지도 ios

내 코드입니다 : 나는 마커를 클릭하면

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


     self.propertyNameLabel.text = marker.title; 

     self.addressLabel.text = marker.snippet; 


     [self.scrollViewTest setContentSize:CGSizeMake(600.00, 610.00)]; 

     [self.searchMap addSubview:self.scrollViewTest]; 


     UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleMoreTap)]; 
    tapGestureRecognizer.numberOfTapsRequired = 1; 
    [self.moreLabel addGestureRecognizer:tapGestureRecognizer]; 
    self.moreLabel.userInteractionEnabled = YES; 
    [tapGestureRecognizer release]; 


    return YES; 

} 

내 스크롤 뷰가 표시되지만 스크롤이 작동하지 않습니다. 콘텐츠 크기를 설정했지만 여전히 작동하지 않습니다. 도와주세요,

고마워요.

답변

0

정보 테이블을 편집하는 데 잘못된 위임 메서드를 사용합니다.

이 코드 줄 [self.searchMap addSubview : self.scrollViewTest];은지도에 하위보기가 추가되고 정보창에는 추가되지 않습니다.

-(UIView*)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker{ 
    //TODO: Custom your view here 
    UIView * view =[[UIView alloc]init]; 
    return view; 
} 

- (void)mapView:(GMSMapView *)mapView 
    didTapInfoWindowOfMarker:(GMSMarker *)marker{ 

//TODO: Some logic to set the model that will be using after notification is posted 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"triggerActionLikeAButton" object:nil]; 
} 
+0

이전에는 위임 메서드 - (UIView *) mapView : (GMSMapView *) mapView markerInfoWindow : (GMSMarker *) 마커를 사용했습니다. 그러나 정보창의 버튼이 응답하지 않았습니다. 그래서 다른 방법을 사용하고 새 사용자 지정보기를 하위보기로 맵보기에 추가합니다. – kunjus

+0

infoWindow 내부에서 버튼이 응답하지 않습니다. 나는 전에도 비슷한 문제에 직면 해 왔지만 여러 가지 방법으로 시도했지만 여전히 해결할 수 없었다. 마지막으로 infoWindow Tap 문제를 해결하기 위해 NSNotification을 사용해야했습니다. 위의 코드를 추가했습니다. – Ricky

2

markerInfoWindow의 대리자 메서드에서 반환되는 뷰 대화 할 수 없습니다 -이 :

은이 위임 방법을 사용해야합니다. Google지도는보기의 스냅 샷을 찍어 이미지로 추가하기 때문에 버튼, 스크롤보기 등이 작동하지 않습니다.

솔루션은 didTapInfoWindowOfMarker에 별도의보기를 만들고이를 기본보기 (mapView도 포함 된보기)에 하위보기로 추가합니다. 이것은 mapView에 어떤 방식으로도 묶여 있지 않으므로 다른 복잡성을 발생시킵니다. 따라서 직접 닫기 등을 스스로 관리해야합니다.

+0

완전히 별개의 하위보기를 만들고 관리하는 것이 가장 좋습니다. [스크롤 뷰 대신에] SMCalloutView를 사용하는 예제는 [내 대답보기] (http://stackoverflow.com/a/24133509/2094275)를 참조하십시오. – friedbunny

관련 문제