Показать мою позицию с помощью маркера на Android (предыдущий маркер все еще появляется при обновлении позиции) - PullRequest
0 голосов
/ 12 февраля 2012

Я пытался показать свою текущую позицию на карте с помощью маркера, найдите мой код ниже.но если моя позиция изменилась (позиция обновлена), предыдущий маркер все равно появится.как убрать предыдущий маркер.пожалуйста помогите

public void UpdateMyPosition (Location location){
String addressString = "No location found";

if (location != null) {
    // Update the map location.
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();

    GeoPoint geoPoint = new GeoPoint((int) (latitude * 1E6),(int) (longitude * 1E6));
    mapController.animateTo(geoPoint);

    Drawable drawable = this.getResources().getDrawable(R.drawable.red);
    MapsOverlay itemizedoverlay2 = new MapsOverlay(drawable, this);

    List<Overlay> myOverlays = mapView.getOverlays();
    OverlayItem overlayitem2 = new OverlayItem(geoPoint, "", "");

    itemizedoverlay2.addOverlay(overlayitem2);
    myOverlays.add(itemizedoverlay2);

    mapView.postInvalidate();

    Geocoder gc = new Geocoder(this, Locale.getDefault());
    try {
      List<Address> addresses = gc.getFromLocation(latitude, longitude, 1);
      StringBuilder sb = new StringBuilder();
      if (addresses.size() > 0) {
        Address address = addresses.get(0);
        for (int i = 0; i < address.getMaxAddressLineIndex(); i++)
          sb.append(address.getAddressLine(i));
      }
      addressString = sb.toString();
    } catch (IOException e) {}
  } else {
    addressString = "No location found";
  }

  Toast.makeText(getBaseContext(),addressString, Toast.LENGTH_SHORT).show();
}

Ответы [ 3 ]

1 голос
/ 12 февраля 2012

Помещенный

myOverlays.clear();

до

myOverlays.add(itemizedoverlay2);
0 голосов
/ 28 апреля 2012

Другой идеей было бы не удалить старый маркер, а изменить его положение.

0 голосов
/ 12 февраля 2012

Возможно, будет лучше использовать пакет MyLocationOverlay , в этом случае рисование и обновление будут выполняться автоматически.

...