当用户点击图标时,如何获取ItemizedIconOverlay<OverlayItem> anotherItemizedIconOverlay的索引位置?例如,当用户点击/单击第一个图标时,它应该获得整数0List<GeoPoint> nodes = nodeCoordinates();ArrayList<OverlayItem> anotherOverlayItemArray = new ArrayList<>();Drawable newMarker = getResources().getDrawable(R.drawable.marker_node);for(int i = 0; i < nodes.size(); i++) { anotherOverlayItemArray.add(new OverlayItem("Road", "Nodes", nodes.get(i))); anotherOverlayItemArray.get(i).setMarker(newMarker);}ItemizedIconOverlay<OverlayItem> anotherItemizedIconOverlay = new ItemizedIconOverlay<>( this, anotherOverlayItemArray, null);map.getOverlays().add(anotherItemizedIconOverlay); 最佳答案 这里有一个例子https://github.com/osmdroid/osmdroid/blob/master/OpenStreetMapViewer/src/main/java/org/osmdroid/samplefragments/data/SampleMilitaryIconsItemizedIcons.javaack,格式化问题...。`itemOverlay = new ItemizedOverlayWithFocus (new ArrayList(), 新的ItemizedIconOverlay.OnItemGestureListener(){ @Override public boolean onItemSingleTapUp(final int index,Final OverlayItem item){ Toast.makeText( 上下文 “项目'” + item.getTitle()+“'(index =” +索引 +“)单独点击”,Toast.LENGTH_LONG).show(); 返回true; } @Override public boolean onItemLongPress(final int index, final OverlayItem item) { Toast.makeText( context, "Item '" + item.getTitle() + "' (index=" + index + ") got long pressed", Toast.LENGTH_LONG).show(); return false; } }, context);`
10-08 08:13