diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java index bc91cb2e9d..f53ad06e9d 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java @@ -6,6 +6,7 @@ import android.graphics.Rect; import android.location.Location; import android.os.Bundle; import android.os.SystemClock; +import android.os.Trace; import android.util.Log; import android.view.MotionEvent; import android.view.View; @@ -679,8 +680,15 @@ public class AMapViewWrapper implements IMogoMapView, IMogoMapUIController, Loca if (!isLoaded) { isLoaded = true; MogoMapListenerHandler.getInstance().onMapLoaded(); - MapAutoViewHelper mapAutoViewHelper = mMapView.getMapAutoViewHelper(); - MogoMapListenerHandler.getInstance().onMapChanged(ObjectUtils.fromAMap(mapAutoViewHelper.getCenter()), mapAutoViewHelper.getZoom(), 0, 0); + CameraPosition cameraPosition = mMapView.getMapAutoViewHelper().getCameraPosition(); + if ( cameraPosition != null ) { + Trace.beginSection( "timer.onCameraChangeFinish" ); + MogoMapListenerHandler.getInstance().onMapChanged(ObjectUtils.fromAMap( cameraPosition.getTarget() ), + cameraPosition.getZoom(), + cameraPosition.getTilt(), + cameraPosition.getBearing() ); + Trace.endSection(); + } } } @@ -704,5 +712,14 @@ public class AMapViewWrapper implements IMogoMapView, IMogoMapUIController, Loca @Override public void onMapStatusChanged(int type, int value) { Log.i(TAG, "onMapStatusChanged: "+type+","+value); + CameraPosition cameraPosition = mMapView.getMapAutoViewHelper().getCameraPosition(); + if ( cameraPosition != null ) { + Trace.beginSection( "timer.onCameraChangeFinish" ); + MogoMapListenerHandler.getInstance().onMapChanged(ObjectUtils.fromAMap( cameraPosition.getTarget() ), + cameraPosition.getZoom(), + cameraPosition.getTilt(), + cameraPosition.getBearing() ); + Trace.endSection(); + } } }