Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You can use something like that. - extend ItemizedOverlay</p> <pre><code>package dispatch.driver.osmMaps; import java.util.ArrayList; import org.osmdroid.ResourceProxy; import org.osmdroid.api.IMapView; import org.osmdroid.views.overlay.ItemizedIconOverlay; import org.osmdroid.views.overlay.OverlayItem; import android.graphics.Point; public class OsmMapsItemizedOverlay extends ItemizedIconOverlay&lt;OverlayItem&gt; { private ArrayList&lt;OverlayItem&gt; mItemList = new ArrayList&lt;OverlayItem&gt;(); public OsmMapsItemizedOverlay(ArrayList&lt;OverlayItem&gt; pList, ItemizedIconOverlay.OnItemGestureListener&lt;OverlayItem&gt; pOnItemGestureListener, ResourceProxy pResourceProxy) { super(pList, pOnItemGestureListener, pResourceProxy); mItemList = pList; // TODO Auto-generated constructor stub } public void addOverlay(OverlayItem aOverlayItem) { mItemList.add(aOverlayItem); populate(); } public void removeOverlay(OverlayItem aOverlayItem) { mItemList.remove(aOverlayItem); populate(); } @Override protected OverlayItem createItem(int i) { return mItemList.get(i); } @Override public int size() { if (mItemList != null) return mItemList.size(); else return 0; } @Override public boolean onSnapToItem(int arg0, int arg1, Point arg2, IMapView arg3) { // TODO Auto-generated method stub return false; } } </code></pre> <p>And in your activity class call</p> <pre><code>private void PrepareItemizedOverlay() { /* itemized overlay */ mItemizedOverlay = new OsmMapsItemizedOverlay(mItems, new ItemizedIconOverlay.OnItemGestureListener&lt;OverlayItem&gt;() { @Override public boolean onItemSingleTapUp(final int index, final OverlayItem item) { Toast.makeText(OsmMapsActivity.this, "Item '" + item.mTitle + "' (index=" + index + ") got single tapped up", Toast.LENGTH_LONG).show(); return true; // We 'handled' this event. } @Override public boolean onItemLongPress(final int index, final OverlayItem item) { Toast.makeText(OsmMapsActivity.this, "Item '" + item.mTitle + "' (index=" + index + ") got long pressed", Toast.LENGTH_LONG) .show(); return true; } }, mResourceProxy); } </code></pre> <p>to add a new overlay you can use something like this:</p> <pre><code>{ OverlayItem overlayItem; overlayItem = new OverlayItem("Center", "Center", (GeoPoint) aPoint); mItemizedOverlay.addOverlay(overlayItem); mMapView.getOverlays().clear(); mMapView.getOverlays().add(mItemizedOverlay); mMapView.getController().animateTo(aPoint); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload