diff --git a/app/build.gradle b/app/build.gradle index 1abee76..f6c7943 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,7 +30,7 @@ android { targetSdkVersion 35 versionCode 2601 // versionName "2.6.1" - versionName "2.6.1-Beta3" + versionName "2.6.1-Beta4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/abbidot/tracker/ui/activity/map/LiveActivityV3.kt b/app/src/main/java/com/abbidot/tracker/ui/activity/map/LiveActivityV3.kt index 77bd42d..ed085c7 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/activity/map/LiveActivityV3.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/activity/map/LiveActivityV3.kt @@ -862,7 +862,7 @@ class LiveActivityV3 : BaseActivity(ActivityLiveV3Binding mPetList?.apply { mPetBean?.let { p -> //List删除当前选中宠物 - mHomeMapCommon.showOtherPetHeadMarker(filter { it != p }.toMutableList()) + mHomeMapCommon.showOtherPetHeadMarker(filter { it.petId != p.petId }.toMutableList()) } } } diff --git a/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt b/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt index 159b491..5eb8e2f 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/common/map/HomeMapCommonV3.kt @@ -200,6 +200,14 @@ class HomeMapCommonV3 @Inject constructor() : BaseMapCommon() { mHomeMapBaiduMapFragment?.clearRippleCircleAnim() } + /** + * 地图放大缩小动画 + */ + fun mapScaleAnim() { + mHomeMapGoogleMapFragment?.mapScaleAnim() + mHomeMapBaiduMapFragment?.mapScaleAnim() + } + fun setMarkerInfoViewOffset() { if (null != mHomeMapBaiduMapFragment) { mHomeMapBaiduMapFragment!!.setMarkerInfoViewOffset() diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt index 89db25a..bb1ffd3 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/MapV3Fragment.kt @@ -698,7 +698,7 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i getHomeV2Activity()?.apply { getPet(false)?.let { p -> //删除当前选中宠物 - mHomeMapCommon.showOtherPetHeadMarker(mPetList.filter { it != p } + mHomeMapCommon.showOtherPetHeadMarker(mPetList.filter { it.petId != p.petId } .toMutableList()) } } @@ -1140,6 +1140,7 @@ class MapV3Fragment : BaseFragment(FragmentMapV3Binding::i if (isNotifyRefreshLocation) { isNotifyRefreshLocation = false mHomeMapCommon.clearRippleCircleAnim() + mHomeMapCommon.mapScaleAnim() mViewBinding.ivHomeMapRefreshLocation.let { it.isEnabled = true it.imageTintList = ColorStateList.valueOf( diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt index 560e724..d4fbf81 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/baidumap/HomeMapBaiduMapFragment.kt @@ -12,6 +12,7 @@ import android.view.animation.LinearInterpolator import androidx.core.content.ContextCompat import androidx.core.view.isVisible import androidx.fragment.app.viewModels +import androidx.lifecycle.lifecycleScope import com.abbidot.baselibrary.constant.MMKVKey import com.abbidot.baselibrary.util.AppUtils import com.abbidot.baselibrary.util.LogUtil @@ -32,12 +33,15 @@ import com.baidu.mapapi.map.BaiduMap import com.baidu.mapapi.map.BitmapDescriptor import com.baidu.mapapi.map.CircleOptions import com.baidu.mapapi.map.MapStatus +import com.baidu.mapapi.map.MapStatusUpdateFactory import com.baidu.mapapi.map.Marker import com.baidu.mapapi.map.MarkerOptions import com.baidu.mapapi.map.Overlay import com.baidu.mapapi.map.PolylineDottedLineType import com.baidu.mapapi.map.Stroke import com.baidu.mapapi.model.LatLng +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import kotlin.math.pow @@ -161,14 +165,13 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { if (marker == mMarker) { mMapDeviceBean?.let { if (it.canShowBattery) { - mDeviceBatteryLayout.visibility = - if (mDeviceBatteryLayout.isVisible) { - it.isCloseBattery = true - View.GONE - } else { - it.isCloseBattery = false - View.VISIBLE - } + mDeviceBatteryLayout.visibility = if (mDeviceBatteryLayout.isVisible) { + it.isCloseBattery = true + View.GONE + } else { + it.isCloseBattery = false + View.VISIBLE + } } } true @@ -380,6 +383,18 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() { startRippleCircleAnim() } + /** + * 地图放大缩小动画 + */ + fun mapScaleAnim() { + viewLifecycleOwner.lifecycleScope.launch { + delay(100) + mBaiduMap?.animateMapStatus(MapStatusUpdateFactory.zoomOut()) + delay(500) + mBaiduMap?.animateMapStatus(MapStatusUpdateFactory.zoomIn()) + } + } + fun clearRippleCircleAnim() { mValueAnimator?.cancel() mRippleCircle?.remove() diff --git a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt index e1b81ef..94decc6 100644 --- a/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt +++ b/app/src/main/java/com/abbidot/tracker/ui/fragment/map/googlemap/HomeMapGoogleMapFragmentV3.kt @@ -9,6 +9,7 @@ import android.view.animation.LinearInterpolator import androidx.core.content.ContextCompat import androidx.core.view.isVisible import androidx.fragment.app.viewModels +import androidx.lifecycle.lifecycleScope import com.abbidot.baselibrary.constant.MMKVKey import com.abbidot.baselibrary.util.AppUtils import com.abbidot.baselibrary.util.MMKVUtil @@ -22,6 +23,7 @@ import com.abbidot.tracker.databinding.LayoutPetLocationInfoBinding import com.abbidot.tracker.util.Util import com.abbidot.tracker.util.ViewUtil import com.abbidot.tracker.vm.GeoCoderViewModel +import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.model.Circle import com.google.android.gms.maps.model.CircleOptions @@ -29,6 +31,8 @@ import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.Marker import com.google.android.gms.maps.model.MarkerOptions import com.google.android.gms.maps.model.Polyline +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import kotlin.math.pow /** @@ -301,6 +305,18 @@ class HomeMapGoogleMapFragmentV3 : BaseGoogleMapFragment() { } } + /** + * 地图放大缩小动画 + */ + fun mapScaleAnim() { + viewLifecycleOwner.lifecycleScope.launch { + delay(100) + mGoogleMap?.animateCamera(CameraUpdateFactory.zoomOut()) + delay(500) + mGoogleMap?.animateCamera(CameraUpdateFactory.zoomIn()) + } + } + /** * 画线 */