新增一键定位完成后谷歌百度地图放大缩小动画
This commit is contained in:
@@ -30,7 +30,7 @@ android {
|
|||||||
targetSdkVersion 35
|
targetSdkVersion 35
|
||||||
versionCode 2601
|
versionCode 2601
|
||||||
// versionName "2.6.1"
|
// versionName "2.6.1"
|
||||||
versionName "2.6.1-Beta3"
|
versionName "2.6.1-Beta4"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
|
|||||||
@@ -862,7 +862,7 @@ class LiveActivityV3 : BaseActivity<ActivityLiveV3Binding>(ActivityLiveV3Binding
|
|||||||
mPetList?.apply {
|
mPetList?.apply {
|
||||||
mPetBean?.let { p ->
|
mPetBean?.let { p ->
|
||||||
//List删除当前选中宠物
|
//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()
|
mHomeMapBaiduMapFragment?.clearRippleCircleAnim()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 地图放大缩小动画
|
||||||
|
*/
|
||||||
|
fun mapScaleAnim() {
|
||||||
|
mHomeMapGoogleMapFragment?.mapScaleAnim()
|
||||||
|
mHomeMapBaiduMapFragment?.mapScaleAnim()
|
||||||
|
}
|
||||||
|
|
||||||
fun setMarkerInfoViewOffset() {
|
fun setMarkerInfoViewOffset() {
|
||||||
if (null != mHomeMapBaiduMapFragment) {
|
if (null != mHomeMapBaiduMapFragment) {
|
||||||
mHomeMapBaiduMapFragment!!.setMarkerInfoViewOffset()
|
mHomeMapBaiduMapFragment!!.setMarkerInfoViewOffset()
|
||||||
|
|||||||
@@ -698,7 +698,7 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
|
|||||||
getHomeV2Activity()?.apply {
|
getHomeV2Activity()?.apply {
|
||||||
getPet(false)?.let { p ->
|
getPet(false)?.let { p ->
|
||||||
//删除当前选中宠物
|
//删除当前选中宠物
|
||||||
mHomeMapCommon.showOtherPetHeadMarker(mPetList.filter { it != p }
|
mHomeMapCommon.showOtherPetHeadMarker(mPetList.filter { it.petId != p.petId }
|
||||||
.toMutableList())
|
.toMutableList())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1140,6 +1140,7 @@ class MapV3Fragment : BaseFragment<FragmentMapV3Binding>(FragmentMapV3Binding::i
|
|||||||
if (isNotifyRefreshLocation) {
|
if (isNotifyRefreshLocation) {
|
||||||
isNotifyRefreshLocation = false
|
isNotifyRefreshLocation = false
|
||||||
mHomeMapCommon.clearRippleCircleAnim()
|
mHomeMapCommon.clearRippleCircleAnim()
|
||||||
|
mHomeMapCommon.mapScaleAnim()
|
||||||
mViewBinding.ivHomeMapRefreshLocation.let {
|
mViewBinding.ivHomeMapRefreshLocation.let {
|
||||||
it.isEnabled = true
|
it.isEnabled = true
|
||||||
it.imageTintList = ColorStateList.valueOf(
|
it.imageTintList = ColorStateList.valueOf(
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import android.view.animation.LinearInterpolator
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.abbidot.baselibrary.constant.MMKVKey
|
import com.abbidot.baselibrary.constant.MMKVKey
|
||||||
import com.abbidot.baselibrary.util.AppUtils
|
import com.abbidot.baselibrary.util.AppUtils
|
||||||
import com.abbidot.baselibrary.util.LogUtil
|
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.BitmapDescriptor
|
||||||
import com.baidu.mapapi.map.CircleOptions
|
import com.baidu.mapapi.map.CircleOptions
|
||||||
import com.baidu.mapapi.map.MapStatus
|
import com.baidu.mapapi.map.MapStatus
|
||||||
|
import com.baidu.mapapi.map.MapStatusUpdateFactory
|
||||||
import com.baidu.mapapi.map.Marker
|
import com.baidu.mapapi.map.Marker
|
||||||
import com.baidu.mapapi.map.MarkerOptions
|
import com.baidu.mapapi.map.MarkerOptions
|
||||||
import com.baidu.mapapi.map.Overlay
|
import com.baidu.mapapi.map.Overlay
|
||||||
import com.baidu.mapapi.map.PolylineDottedLineType
|
import com.baidu.mapapi.map.PolylineDottedLineType
|
||||||
import com.baidu.mapapi.map.Stroke
|
import com.baidu.mapapi.map.Stroke
|
||||||
import com.baidu.mapapi.model.LatLng
|
import com.baidu.mapapi.model.LatLng
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
|
|
||||||
@@ -161,8 +165,7 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() {
|
|||||||
if (marker == mMarker) {
|
if (marker == mMarker) {
|
||||||
mMapDeviceBean?.let {
|
mMapDeviceBean?.let {
|
||||||
if (it.canShowBattery) {
|
if (it.canShowBattery) {
|
||||||
mDeviceBatteryLayout.visibility =
|
mDeviceBatteryLayout.visibility = if (mDeviceBatteryLayout.isVisible) {
|
||||||
if (mDeviceBatteryLayout.isVisible) {
|
|
||||||
it.isCloseBattery = true
|
it.isCloseBattery = true
|
||||||
View.GONE
|
View.GONE
|
||||||
} else {
|
} else {
|
||||||
@@ -380,6 +383,18 @@ class HomeMapBaiduMapFragment : BaseBaiduMapFragment() {
|
|||||||
startRippleCircleAnim()
|
startRippleCircleAnim()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 地图放大缩小动画
|
||||||
|
*/
|
||||||
|
fun mapScaleAnim() {
|
||||||
|
viewLifecycleOwner.lifecycleScope.launch {
|
||||||
|
delay(100)
|
||||||
|
mBaiduMap?.animateMapStatus(MapStatusUpdateFactory.zoomOut())
|
||||||
|
delay(500)
|
||||||
|
mBaiduMap?.animateMapStatus(MapStatusUpdateFactory.zoomIn())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun clearRippleCircleAnim() {
|
fun clearRippleCircleAnim() {
|
||||||
mValueAnimator?.cancel()
|
mValueAnimator?.cancel()
|
||||||
mRippleCircle?.remove()
|
mRippleCircle?.remove()
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import android.view.animation.LinearInterpolator
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.abbidot.baselibrary.constant.MMKVKey
|
import com.abbidot.baselibrary.constant.MMKVKey
|
||||||
import com.abbidot.baselibrary.util.AppUtils
|
import com.abbidot.baselibrary.util.AppUtils
|
||||||
import com.abbidot.baselibrary.util.MMKVUtil
|
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.Util
|
||||||
import com.abbidot.tracker.util.ViewUtil
|
import com.abbidot.tracker.util.ViewUtil
|
||||||
import com.abbidot.tracker.vm.GeoCoderViewModel
|
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.GoogleMap
|
||||||
import com.google.android.gms.maps.model.Circle
|
import com.google.android.gms.maps.model.Circle
|
||||||
import com.google.android.gms.maps.model.CircleOptions
|
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.Marker
|
||||||
import com.google.android.gms.maps.model.MarkerOptions
|
import com.google.android.gms.maps.model.MarkerOptions
|
||||||
import com.google.android.gms.maps.model.Polyline
|
import com.google.android.gms.maps.model.Polyline
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import kotlin.math.pow
|
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