2013-04-11 33 views
5

Trong Apple bản đồ có một phương pháp đại biểuPhương pháp đại biểu cho bản đồ Google Ios cho đã hoàn thành cuộn là gì?

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated 

và được kích hoạt khi tôi kết thúc di chuyển hoặc di chuyển bản đồ nhưng tôi không thể tìm thấy phương pháp này cho các bản đồ google. Có một phương pháp

- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position 

nhưng phương pháp này vẫn không ngừng bắn trong khi bản đồ vẫn đang được cuộn và tôi không muốn điều đó. Tôi phải thay đổi thuộc tính chỉ khi cuộn xong.

Trả lời

11

Mới nhất Phiên bản SDK phiên bản 1.4.0 - Tháng 7 năm 2013 đã bổ sung thêm một phương pháp đại biểu mới

- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position 

đó sẽ được kích hoạt vào cuối bất kỳ chuyển động của camera hoặc di chuyển hành động

1

Có một yêu cầu tính năng để thêm một cái gì đó như thế này:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=4722

Trong khi đó bạn có lẽ có thể làm việc xung quanh nó bằng cách sử dụng một bộ đếm thời gian thường xuyên mà kiểm tra nếu vị trí bản đồ đã thay đổi kể từ cuộc gọi cuối cùng để hẹn giờ. Nếu không thì người dùng đã ngừng di chuyển bản đồ và vì vậy bạn có thể cập nhật thuộc tính của mình.

0

Cẩn thận idleAtCameraPosition là khi bản đồ ngừng di chuyển không khi bạn nhấc ngón tay lên.

Và tính năng của Google SDK iOS 1.7 Tôi nhận thấy nó được kích hoạt sớm ngay cả khi bạn vẫn còn ngón tay trên bản đồ.

Vì vậy, nếu bạn đang sử dụng nó để vẽ lại lớp phủ/điểm đánh dấu, nó có thể xảy ra quá sớm và gây ra nói lắp.

Tôi phải phân lớp GSMapView và thêm PanGestureRecognizer >> State ENDED để nhận khi ngón tay được nhấc lên.

xem https://github.com/clearbrian/GoogleMapiOS_TapEndedGesture

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