Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Observable<BoundingBox> observeMapBoundingBox(final MapController mapController) {
- return Observable.create(new Observable.OnSubscribe<BoundingBox>() {
- @Override
- public void call(final Subscriber<? super BoundingBox> subscriber) {
- final OnMapListener listener = new OnMapListener() {
- @Override
- public void onMapActionEvent(MapEvent mapEvent) {
- switch (mapEvent.getMsg()) {
- case MapEvent.MSG_SCALE_END:
- case MapEvent.MSG_SCROLL_END:
- case MapEvent.MSG_ZOOM_END:
- if (!subscriber.isUnsubscribed()) {
- subscriber.onNext(getViewportBoundingBox(mapController));
- }
- break;
- }
- }
- };
- mapController.addMapListener(listener);
- //если от последовательности отписались - удалить этого слушателя
- subscriber.add(Subscriptions.create(() -> {
- mapController.removeMapListener(listener);
- }));
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement