Android GoogleMap:如何同步移动标记和相机?

时间:2014-12-14 05:51:57

标签: android google-maps camera marker

我在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

然而,有时会出现一些闪烁现象。看起来地图和标记在不同的线程中呈现,因此有时标记在相机之前移动,有时反之亦然。如果首先移动标记,它将被绘制在不再位于中心的位置,然后在相机移动后不久,标记将再次在中心绘制,从而导致闪烁。

如何同时移动标记和相机?

谢谢。

1 个答案:

答案 0 :(得分:3)

试试这个:

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
        new LatLng(yourLatitude, yourLongitude), zommvalue));