添加和删除标记
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));
我遇到了一点麻烦,我希望在地图上的每个循环中的新位置出现一个标记并移除旧标记,但旧标记仍然存在,我认为 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));