2013-05-29 41 views
9

Tôi đang cố gắng đặt điểm đánh dấu, nhưng khi tôi thực hiện, điểm đánh dấu này được đặt phía sau một số điểm đánh dấu được đặt trước (và trên một số điểm khác). Tôi muốn đặt nó trên tất cả các dấu, nhưng tôi không tìm thấy bất kỳ tài sản (như z-index) để đạt được điều này.Đặt điểm đánh dấu trên tất cả các điểm đánh dấu khác trong Google Maps SDK iOS

Đây là một phần của mã nơi tôi đặt điểm đánh dấu mà vẫn đằng sau những người khác:

GMSMarker *marker = [[GMSMarker alloc] init]; 
marker.animated=YES; 
marker.position = CLLocationCoordinate2DMake(lat, lon); 
marker.map = mapView_; 

và đây là kết quả:

Green marker is placed behind some blue markers and over other blue markers

Có bất kỳ tài sản hoặc cách để đặt điểm đánh dấu màu xanh lá cây trên tất cả các điểm đánh dấu màu xanh? Tôi đang sử dụng Google Maps SDK phiên bản 1.3.0.

Trả lời

26

Điều này hiện được hỗ trợ qua thuộc tính zIndex được thêm vào lớp GMSOverlay trong phiên bản 1.4.0. Từ số release notes:

Đã thêm zIndex thuộc tính trên tất cả các lớp phủ. Chỉ số Z được tính theo hai nhóm: GMSMarker s và tất cả các lớp phủ khác.

Chỉ cần đặt cao zIndex trên điểm đánh dấu của bạn để nó được vẽ trên đầu trang của tất cả những người khác. Như đã trình bày bởi các tài liệu tài sản here:

cao zIndex lớp phủ giá trị sẽ được rút ra trên đầu trang của thấp zIndex lớp ngói giá trị và lớp phủ.

Giá trị mặc định zIndex cho một dấu hiệu là 0 (ít nhất là trong phiên bản SDK hiện tại - tôi đã không nhìn thấy nó ghi nhận, nhưng nó dễ dàng để kiểm tra và xác nhận), vì vậy nếu bạn không thiết lập các zIndex cho hầu hết các điểm đánh dấu của bạn và có điểm đánh dấu bạn muốn đặt phía trên tất cả các điểm đánh dấu khác, tất cả những gì bạn cần làm là:

yourGmsMarker.zIndex = 1; 
+0

Nếu bạn muốn đặt điểm đánh dấu vào điểm đánh dấu khác, đặt zIndex trước dưới 1 (nói 0.8) và sau đó là 1.0 –

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