问题描述
所以我在Google地图上遇到这个问题。我必须将摄像机初始化为某个坐标集,然后,当数据从服务器到达时,添加一些标记并设置动画以包含这些标记。然后,数据将每10秒刷新一次,并且无论它们如何更新,地图都需要设置动画以使标记居中。通常,他们的位置在这10秒钟内会变化10-20米。
问题是,如果在加载地图(override fun onMapReady
之后立即将相机移至初始位置,然后在数据输入后将相机动画化为标记,动画将循环播放每10秒刷新一次,便会从地球中心到这些标记。
看起来真的很糟糕,就像相机位于标记上居中,然后新标记位置从服务器到达一样,相机切换到一秒钟以缩小地球,然后动画化到更新的标记,依此类推。
这是实现方式:
override fun onMapReady(gmap: GoogleMap) {
this.googleMap = gmap
setupMap()
initMarkers()
googleMap.moveCamera(
CameraUpdateFactory.newLatLng(cityLatLng)
)
}
这是每10秒调用一次的数据刷新:
private fun refreshData() {
val builder = LatLngBounds.Builder()
val addresspoint = addressCoordinateSet.second
val courierA = courierCoordinateSetA.second
val courierB = courierCoordinateSetB.second
val courierC = courierCoordinateSetC.second
builder.include(addresspoint)
builder.include(courierA)
builder.include(courierB)
builder.include(courierC)
googleMap.animateCamera(
CameraUpdateFactory.newLatLngBounds(builder.build(),mapPadding)
)
}
问题:为什么每次跳出完全缩小地球,然后刷新功能的边界?我该如何解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)