2013-11-25 14 views
7

Tôi đã cập nhật ứng dụng của mình để sử dụng phiên bản 1.6 của API Google Maps cho iOS. Bây giờ nó chỉ cho tôi rằng ba phương pháp quan trọng của GMSMapView được chấp nhận:Các phương pháp GMSMapView không được chấp nhận trong phiên bản 1.6

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

Lúc đầu, tôi nghĩ rằng nó có thể là một vấn đề đứng về phía tôi vì không có đề cập đến điều này trong tài liệu của Google, nhưng sau đó tôi thấy các tập tin tiêu đề và nhận thấy rằng họ đang trên thực tế bị phản đối nhưng họ không chỉ định một phương pháp thay thế để sử dụng để đạt được điều tương tự:

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

ai có thể chỉ cho tôi làm thế nào để làm điều này mà không sử dụng phương pháp phản đối? Cảm ơn!

EDIT: tôi chỉ tìm thấy một phương pháp mà bạn có thể làm [mapView clear] đó sẽ loại bỏ tất cả các dấu hiệu và polylines khỏi bản đồ, là có cách nào để chỉ loại bỏ tất cả các polylines mà không cần loại bỏ các dấu hiệu?

Trả lời

5

Rất lạ khi họ không đề cập đến nó trong tài liệu. Trong mã nguồn, họ đề cập đến việc họ sẽ lấy nó ra trong một bản phát hành trong tương lai:

LƯU Ý: Trong 1.2 của Google Maps SDK for iOS, các phương pháp này không còn được dùng nữa. Chúng có thể không xuất hiện trong các bản phát hành sau của SDK. Thay vì sử dụng các phương pháp này, chúng tôi khuyên bạn nên duy trì tham chiếu của riêng mình cho các lớp phủ mà bạn đã thêm vào GMSMapView.

Có vẻ như họ đang di chuyển phụ trách vào chúng tôi với tư cách là nhà phát triển để giữ tham chiếu đến lớp phủ đã thêm. Tôi làm điều đó trong ứng dụng của mình bằng cách tạo một số NSMutableArray của người dùng đã thêm. Mỗi khi tôi thêm một điểm đánh dấu vào bản đồ, nó sẽ được thêm vào mảng.

Tôi giả sử bạn có thể làm tương tự với các lớp phủ nền và lớp phủ mặt đất. Mỗi người trong số đó là những lớp học riêng của họ nên không khó để nhóm chúng lại và nhận ra chúng sau này nếu bạn cần.

Các vấn đề liên quan