2013-11-25 1 views
7

iOS 용 Google Maps API 버전 1.6을 사용하도록 앱을 업데이트했습니다. 나는 구글의 문서에서이에 대한 언급이 없기 때문에 내 측면에서 문제가 될 줄 알았는데 처음에는버전 1.6에서 사용되지 않는 GMSMapView 메소드

'markers' is deprecated 
'polylines' is deprecated 
'groundOverlays' is deprecated 

,하지만 난 헤더 파일을 보았다 : 지금 GMSMapView의 세 가지 중요한 방법이되지 않습니다 나에게 보여줍니다 사용되지 않는 방법을 사용하지 않고

- (NSArray *)markers __GMS_AVAILABLE_BUT_DEPRECATED; 
- (NSArray *)groundOverlays __GMS_AVAILABLE_BUT_DEPRECATED; 
- (NSArray *)polylines __GMS_AVAILABLE_BUT_DEPRECATED; 

누군가가 나에게이 작업을 수행하는 방법을 가리킬 수 있습니다 : 그들이 실제로 사용되지 않습니다하지만 그들은 같은 일을 달성하기 위해 사용할 수있는 다른 방법을 지정하지 않은 것으로 나타났습니다? 감사!

편집 : 난 그냥 당신 만 마커를 제거하지 않고 모든 폴리 라인을 제거 할 수있는 방법이있을지도에서 모든 마커와 폴리 라인을 제거 할 [mapView clear]을 할 수있는 방법을 찾았나요?

답변

5

문서에 언급되지 않은 매우 이상한 내용입니다. 소스 코드에서 다음 릴리스에서 제거 할 것이라고 언급했습니다.

참고 : iOS 용 Google지도 SDK 1.2 버전에서이 메소드는 더 이상 사용되지 않습니다. SDK의 이후 릴리스에는 나타나지 않을 수 있습니다. 이 방법을 사용하는 대신 GMSMapView에 추가 한 오버레이에 대한 참조를 유지하는 것이 좋습니다.

추가 오버레이에 대한 참조를 유지하기 위해 개발자로서 우리에게 onus를 이동하는 것처럼 보입니다. 나는 그 응용 프로그램에서 addedMarkers의 NSMutableArray을 생성함으로써 그렇게한다. 마커를지도에 추가 할 때마다 배열에 추가됩니다.

폴리 라인 및지면 오버레이에서 동일한 작업을 수행 할 수 있다고 가정합니다. 그것들 각각은 그들 자신의 클래스이기 때문에 필요할 때 그들을 그룹화하고 나중에 식별해서는 안됩니다.

관련 문제