新增一键定位完成后谷歌百度地图放大缩小动画
This commit is contained in:
@@ -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"
|
||||
|
||||
|
||||
@@ -862,7 +862,7 @@ class LiveActivityV3 : BaseActivity<ActivityLiveV3Binding>(ActivityLiveV3Binding
|
||||
mPetList?.apply {
|
||||
mPetBean?.let { p ->
|
||||
//List删除当前选中宠物
|
||||
mHomeMapCommon.showOtherPetHeadMarker(filter { it != p }.toMutableList())
|
||||
mHomeMapCommon.showOtherPetHeadMarker(filter { it.petId != p.petId }.toMutableList())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,6 +200,14 @@ class HomeMapCommonV3 @Inject constructor() : BaseMapCommon() {
|
||||
mHomeMapBaiduMapFragment?.clearRippleCircleAnim()
|
||||
}
|
||||
|
||||
/**
|
||||
* 地图放大缩小动画
|
||||
*/
|
||||
fun mapScaleAnim() {
|
||||
mHomeMapGoogleMapFragment?.mapScaleAnim()
|
||||
mHomeMapBaiduMapFragment?.mapScaleAnim()
|
||||
}
|
||||
|
||||
fun setMarkerInfoViewOffset() {
|
||||
if (null != mHomeMapBaiduMapFragment) {
|
||||
mHomeMapBaiduMapFragment!!.setMarkerInfoViewOffset()
|
||||
|
||||
@@ -698,7 +698,7 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(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>(FragmentMapV3Binding::i
|
||||
if (isNotifyRefreshLocation) {
|
||||
isNotifyRefreshLocation = false
|
||||
mHomeMapCommon.clearRippleCircleAnim()
|
||||
mHomeMapCommon.mapScaleAnim()
|
||||
mViewBinding.ivHomeMapRefreshLocation.let {
|
||||
it.isEnabled = true
|
||||
it.imageTintList = ColorStateList.valueOf(
|
||||
|
||||
@@ -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,8 +165,7 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() {
|
||||
if (marker == mMarker) {
|
||||
mMapDeviceBean?.let {
|
||||
if (it.canShowBattery) {
|
||||
mDeviceBatteryLayout.visibility =
|
||||
if (mDeviceBatteryLayout.isVisible) {
|
||||
mDeviceBatteryLayout.visibility = if (mDeviceBatteryLayout.isVisible) {
|
||||
it.isCloseBattery = true
|
||||
View.GONE
|
||||
} else {
|
||||
@@ -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()
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 画线
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user