添加和删​​除标记

Adding and removing markers

我遇到了一点麻烦,我希望在地图上的每个循环中的新位置出现一个标记并移除旧标记,但旧标记仍然存在,我认为 options.visible(错误的);会删除它,但它们仍然可见。

public void newTimer(final polyline route)
{
    new CountDownTimer(30000, 1000)
    {
        int i = 0;
        MarkerOptions options = new MarkerOptions();
        public void onTick(long millisUntilFinished)
        {
                i++;
                options.visible(false);
                 options =new MarkerOptions()
                    .position(route.getPositions().get(i))
                    .visible(true)
                    .icon(BitmapDescriptorFactory
                    .defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
                mMap.addMarker(options);
        }

        public void onFinish() {
            Log.d("Remaining time: ","0");
        }
    }.start();

无需创建新标记,只需更新位置即可。

private Marker myMarker = null;
if (myMarker == null)
    myMarker = mMap.addMarker(new MarkerOptions())
                    .position(route.getPositions().get(i))
                    .icon(BitmapDescriptorFactory
                    .defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
else
  myMarker.setPosition(route.getPositions().get(i));