Найдено результатов: 1

Использование ItemizedOverlay и OverlayItem в Android Beta 0.9

Кому-нибудь удалось использовать ItemizedOverlays в Android Beta 0.9? Я не могу заставить его работать, но я не уверен, сделал ли я что-то неправильно или эта функция еще не доступна.

Я пытался использовать классы ItemizedOverlay и OverlayItem . Их предназначение-имитировать маркеры карт (как это видно в Мэшапах Google Maps), но у меня были проблемы с их отображением на карте.

Я могу добавить свои собственные пользовательские оверлеи, используя аналогичную технику, это просто ItemizedOverlays , которые не работают.

После того, как я реализовал свой собственный ItemizedOverlay (и переопределил createItem), создание нового экземпляра моего класса, кажется, работает (я могу извлечь из него OverlayItems ), но добавление его в список Overlay карты не делает его таким, каким он должен быть.

Это код, который я использую для добавления класса ItemizedOverlay в качестве Overlay к моему MapView .

// Add the ItemizedOverlay to the Map
private void addItemizedOverlay() {
  Resources r = getResources();
  MapView mapView = (MapView)findViewById(R.id.mymapview);
  List<Overlay> overlays = mapView.getOverlays();

  MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon));
  overlays.add(markers);

  OverlayItem oi = markers.getItem(0);
  markers.setFocus(oi);
  mapView.postInvalidate();
}

Где MyItemizedOverlay определяется как:

public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
  public MyItemizedOverlay(Drawable defaultMarker) {
    super(defaultMarker);
    populate();
  }

  @Override
  protected OverlayItem createItem(int index) {
    Double lat = (index+37.422006)*1E6;
    Double lng = -122.084095*1E6;
    GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());

    OverlayItem oi = new OverlayItem(point, "Marker", "Marker Text");
    return oi;
  }

  @Override
  public int size() {
    return 5;
  } 
}

java   android   overlay   android-mapview    

411   1   11:36, 9th August, 2020