我在GoogleMap和相机上同时移动标记时遇到问题。
我在地图上有一个标记,如果用户不滚动地图,通常它位于地图的中心。标记表示当前位置,由外部源提供。
当位置发生变化时,我想将标记移动到新位置,同时将相机随之移动,因此它始终以地图为中心(效果看起来只有地图会移动)
我通过以下代码执行此操作,
LatLng latlng = new LatLng(rawData.latitude, rawData.longitude);
mMarker.setPosition(latlng); // move the marker
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(latlng, mCurrZoom);
mMap.moveCamera(update); // move the camera
然而,有时会出现一些闪烁现象。看起来地图和标记在不同的线程中呈现,因此有时标记在相机之前移动,有时反之亦然。如果首先移动标记,它将被绘制在不再位于中心的位置,然后在相机移动后不久,标记将再次在中心绘制,从而导致闪烁。
如何同时移动标记和相机?
谢谢。
答案 0 :(得分:3)
试试这个:
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(yourLatitude, yourLongitude), zommvalue));