[android] Support mbgl::MapObserver
This commit is contained in:
@@ -181,6 +181,70 @@ void NativeMapView::notifyMapChange(mbgl::MapChange change) {
|
||||
javaPeer->Call(*_env, onMapChanged, (int) change);
|
||||
}
|
||||
|
||||
void NativeMapView::onCameraWillChange(MapObserver::CameraChangeMode mode) {
|
||||
if (mode == MapObserver::CameraChangeMode::Immediate) {
|
||||
notifyMapChange(MapChange::MapChangeRegionWillChange);
|
||||
} else {
|
||||
notifyMapChange(MapChange::MapChangeRegionWillChangeAnimated);
|
||||
}
|
||||
}
|
||||
|
||||
void NativeMapView::onCameraIsChanging() {
|
||||
notifyMapChange(MapChange::MapChangeRegionIsChanging);
|
||||
}
|
||||
|
||||
void NativeMapView::onCameraDidChange(MapObserver::CameraChangeMode mode) {
|
||||
if (mode == MapObserver::CameraChangeMode::Immediate) {
|
||||
notifyMapChange(MapChange::MapChangeRegionDidChange);
|
||||
} else {
|
||||
notifyMapChange(MapChange::MapChangeRegionDidChangeAnimated);
|
||||
}
|
||||
}
|
||||
|
||||
void NativeMapView::onWillStartLoadingMap() {
|
||||
notifyMapChange(MapChange::MapChangeWillStartLoadingMap);
|
||||
}
|
||||
|
||||
void NativeMapView::onDidFinishLoadingMap() {
|
||||
notifyMapChange(MapChange::MapChangeDidFinishLoadingMap);
|
||||
}
|
||||
|
||||
void NativeMapView::onDidFailLoadingMap() {
|
||||
notifyMapChange(MapChange::MapChangeDidFailLoadingMap);
|
||||
}
|
||||
|
||||
void NativeMapView::onWillStartRenderingFrame() {
|
||||
notifyMapChange(MapChange::MapChangeWillStartRenderingFrame);
|
||||
}
|
||||
|
||||
void NativeMapView::onDidFinishRenderingFrame(MapObserver::RenderMode mode) {
|
||||
if (mode == MapObserver::RenderMode::Partial) {
|
||||
notifyMapChange(MapChange::MapChangeDidFinishRenderingFrame);
|
||||
} else {
|
||||
notifyMapChange(MapChange::MapChangeDidFinishRenderingFrameFullyRendered);
|
||||
}
|
||||
}
|
||||
|
||||
void NativeMapView::onWillStartRenderingMap() {
|
||||
notifyMapChange(MapChange::MapChangeWillStartRenderingMap);
|
||||
}
|
||||
|
||||
void NativeMapView::onDidFinishRenderingMap(MapObserver::RenderMode mode) {
|
||||
if (mode == MapObserver::RenderMode::Partial) {
|
||||
notifyMapChange(MapChange::MapChangeDidFinishRenderingMap);
|
||||
} else {
|
||||
notifyMapChange(MapChange::MapChangeDidFinishRenderingMapFullyRendered);
|
||||
}
|
||||
}
|
||||
|
||||
void NativeMapView::onDidFinishLoadingStyle() {
|
||||
notifyMapChange(MapChange::MapChangeDidFinishLoadingStyle);
|
||||
}
|
||||
|
||||
void NativeMapView::onSourceDidChange() {
|
||||
notifyMapChange(MapChange::MapChangeSourceDidChange);
|
||||
}
|
||||
|
||||
// JNI Methods //
|
||||
|
||||
void NativeMapView::initializeDisplay(jni::JNIEnv&) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <mbgl/map/backend.hpp>
|
||||
#include <mbgl/map/change.hpp>
|
||||
#include <mbgl/map/camera.hpp>
|
||||
#include <mbgl/map/map.hpp>
|
||||
#include <mbgl/map/view.hpp>
|
||||
@@ -51,7 +52,23 @@ public:
|
||||
// mbgl::Backend //
|
||||
|
||||
void invalidate() override;
|
||||
void notifyMapChange(mbgl::MapChange) override;
|
||||
|
||||
// Deprecated //
|
||||
void notifyMapChange(mbgl::MapChange);
|
||||
|
||||
// mbgl::Backend (mbgl::MapObserver) //
|
||||
void onCameraWillChange(MapObserver::CameraChangeMode) override;
|
||||
void onCameraIsChanging() override;
|
||||
void onCameraDidChange(MapObserver::CameraChangeMode) override;
|
||||
void onWillStartLoadingMap() override;
|
||||
void onDidFinishLoadingMap() override;
|
||||
void onDidFailLoadingMap() override;
|
||||
void onWillStartRenderingFrame() override;
|
||||
void onDidFinishRenderingFrame(MapObserver::RenderMode) override;
|
||||
void onWillStartRenderingMap() override;
|
||||
void onDidFinishRenderingMap(MapObserver::RenderMode) override;
|
||||
void onDidFinishLoadingStyle() override;
|
||||
void onSourceDidChange() override;
|
||||
|
||||
// JNI //
|
||||
|
||||
|
||||
Reference in New Issue
Block a user