diff --git a/gradle.properties b/gradle.properties index fd6068584b..ae2100e839 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,29 +27,29 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.0.3.8 -MOGO_UTILS_VERSION=1.0.3.8 -MAP_AMAP_VERSION=1.0.3.8 -MOGO_MAP_VERSION=1.0.3.8 -MOGO_MAP_API_VERSION=1.0.3.8 -MOGO_SERVICE_VERSION=1.0.3.8 -MOGO_SERVICE_API_VERSION=1.0.3.8 -MOGO_CONNECTION_VERSION=1.0.3.8 -MOGO_MODULE_APPS_VERSION=1.0.3.8 -MOGO_MODULE_NAVI_VERSION=1.0.3.8 -MOGO_MODULE_SHARE_VERSION=1.0.3.8 -MOGO_MODULE_COMMON_VERSION=1.0.3.8 -MOGO_MODULE_MAIN_VERSION=1.0.3.8 -MOGO_MODULE_MAP_VERSION=1.0.3.8 -MOGO_MODULE_SERVICE_VERSION=1.0.3.8 -MOGO_MODULE_EXTENSIONS_VERSION=1.0.3.8 -MOGO_MODULE_SEARCH_VERSION=1.0.3.8 -MOGO_MODULE_BACK_VERSION=1.0.3.8 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.0.3.8 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.0.3.8 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.0.3.8 -MOGO_MODULE_AUTHORIZE_VERSION=1.0.3.8 -MOGO_MODULE_GUIDE_VERSION=1.0.3.8 +MOGO_COMMONS_VERSION=1.0.3.8.1 +MOGO_UTILS_VERSION=1.0.3.8.1 +MAP_AMAP_VERSION=1.0.3.8.1 +MOGO_MAP_VERSION=1.0.3.8.1 +MOGO_MAP_API_VERSION=1.0.3.8.1 +MOGO_SERVICE_VERSION=1.0.3.8.1 +MOGO_SERVICE_API_VERSION=1.0.3.8.1 +MOGO_CONNECTION_VERSION=1.0.3.8.1 +MOGO_MODULE_APPS_VERSION=1.0.3.8.1 +MOGO_MODULE_NAVI_VERSION=1.0.3.8.1 +MOGO_MODULE_SHARE_VERSION=1.0.3.8.1 +MOGO_MODULE_COMMON_VERSION=1.0.3.8.1 +MOGO_MODULE_MAIN_VERSION=1.0.3.8.1 +MOGO_MODULE_MAP_VERSION=1.0.3.8.1 +MOGO_MODULE_SERVICE_VERSION=1.0.3.8.1 +MOGO_MODULE_EXTENSIONS_VERSION=1.0.3.8.1 +MOGO_MODULE_SEARCH_VERSION=1.0.3.8.1 +MOGO_MODULE_BACK_VERSION=1.0.3.8.1 +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.0.3.8.1 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.0.3.8.1 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.0.3.8.1 +MOGO_MODULE_AUTHORIZE_VERSION=1.0.3.8.1 +MOGO_MODULE_GUIDE_VERSION=1.0.3.8.1 ## 工程外部模块 diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java index 26f0836020..78ab8ebeed 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java @@ -49,6 +49,7 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.uicontroller.CarCursorOption; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; +import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; import com.mogo.utils.WindowUtils; import com.mogo.utils.logger.Logger; @@ -862,4 +863,13 @@ public class AMapNaviViewWrapper implements IMogoMapView, } mMapView.getMap().setMyLocationStyle( style ); } + + @Override + public MapCameraPosition getMapCameraPosition() { + if ( checkAMapView() ) { + CameraPosition cameraPosition = mMapView.getMap().getCameraPosition(); + return ObjectUtils.fromAMap( cameraPosition ); + } + return null; + } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java index b5f5c7da96..b3e56bb358 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/uicontroller/AMapUIController.java @@ -12,6 +12,7 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.uicontroller.CarCursorOption; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; +import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; import com.mogo.utils.logger.Logger; @@ -260,4 +261,12 @@ public class AMapUIController implements IMogoMapUIController { mClient.setCarCursorOption( option ); } } + + @Override + public MapCameraPosition getMapCameraPosition() { + if ( mClient != null ) { + return mClient.getMapCameraPosition(); + } + return null; + } } diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java index 5004072c76..f814b9f053 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java @@ -7,6 +7,7 @@ import android.view.View; import com.amap.api.location.AMapLocation; import com.amap.api.maps.model.BitmapDescriptor; import com.amap.api.maps.model.BitmapDescriptorFactory; +import com.amap.api.maps.model.CameraPosition; import com.amap.api.maps.model.LatLng; import com.amap.api.maps.model.MarkerOptions; import com.amap.api.maps.model.Poi; @@ -69,6 +70,7 @@ import com.mogo.map.search.inputtips.query.MogoInputtipsQuery; import com.mogo.map.search.poisearch.MogoPoiResult; import com.mogo.map.search.poisearch.MogoSearchBound; import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery; +import com.mogo.map.uicontroller.MapCameraPosition; import java.util.ArrayList; import java.util.Iterator; @@ -199,7 +201,7 @@ public class ObjectUtils { return new MogoLatLng( point.getLatitude(), point.getLongitude() ); } - public static MogoLatLng fromAMap( LatLng point ) { + public static MogoLatLng CameraPositionfromAMap( LatLng point ) { if ( point == null ) { return null; } @@ -736,4 +738,18 @@ public class ObjectUtils { target.setDottedLineType( PolylineOptions.DOTTEDLINE_TYPE_CIRCLE ); return target; } + + public static MogoLatLng fromAMap( LatLng latLng ) { + if ( latLng == null ) { + return null; + } + return new MogoLatLng( latLng.latitude, latLng.longitude ); + } + + public static MapCameraPosition fromAMap( CameraPosition position ) { + if ( position == null ) { + return null; + } + return new MapCameraPosition( fromAMap( position.target ), position.bearing, position.tilt, position.zoom ); + } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index bc738c6daa..f74206da88 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -202,4 +202,11 @@ public interface IMogoMapUIController { * @param option 为空时使用默认配置 */ void setCarCursorOption( @Nullable CarCursorOption option ); + + /** + * 获取地图视图描述快照 + * + * @return + */ + MapCameraPosition getMapCameraPosition(); } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/MapCameraPosition.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/MapCameraPosition.java new file mode 100644 index 0000000000..52ea00bfad --- /dev/null +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/MapCameraPosition.java @@ -0,0 +1,40 @@ +package com.mogo.map.uicontroller; + +import com.mogo.map.MogoLatLng; + +/** + * @author congtaowang + * @since 2020-04-26 + *

+ * 地图视图描述 + */ +public class MapCameraPosition { + + private final MogoLatLng mLonLat; + private final float mBearing; + private final float mTilt; + private final float mZoom; + + public MapCameraPosition( MogoLatLng lonLat, float bearing, float tilt, float zoom ) { + this.mLonLat = lonLat; + this.mBearing = bearing; + this.mTilt = tilt; + this.mZoom = zoom; + } + + public MogoLatLng getLonLat() { + return mLonLat; + } + + public float getBearing() { + return mBearing; + } + + public float getTilt() { + return mTilt; + } + + public float getZoom() { + return mZoom; + } +} diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index 286b7aec12..da0b3ad0b1 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -11,6 +11,7 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.uicontroller.CarCursorOption; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.map.uicontroller.IMogoMapUIController; +import com.mogo.map.uicontroller.MapCameraPosition; import com.mogo.map.uicontroller.MapControlResult; import java.util.List; @@ -253,4 +254,12 @@ public class MogoMapUIController implements IMogoMapUIController { mDelegate.setCarCursorOption( option ); } } + + @Override + public MapCameraPosition getMapCameraPosition() { + if ( mDelegate != null ) { + return mDelegate.getMapCameraPosition(); + } + return null; + } } diff --git a/map-upload.sh b/map-upload.sh index eeb258a13e..f80756c24a 100755 --- a/map-upload.sh +++ b/map-upload.sh @@ -1,5 +1,5 @@ #!/bin/bash -./gradlew :services:mogo-service-api:clean :services:mogo-service-api:uploadArchives -./gradlew :services:mogo-service:clean :services:mogo-service:uploadArchives -./gradlew :modules:mogo-module-extensions:clean :modules:mogo-module-extensions:uploadArchives \ No newline at end of file +./gradlew :libraries:mogo-map-api:clean :libraries:mogo-map-api:uploadArchives +./gradlew :libraries:map-amap:clean :libraries:map-amap:uploadArchives +./gradlew :libraries:mogo-map:clean :libraries:mogo-map:uploadArchives