POIs are delivered to the application through the Region-events. Please see example below. For a complete example, check WayfindingExample.java.
private IARegion.Listener mRegionListener = new IARegion.Listener() { @Override public void onEnterRegion(final IARegion region) { if (region.getType() == IARegion.TYPE_FLOOR_PLAN) { Log.d(TAG, "enter floor plan " + region.getId()); mFloorPlan = region; fetchFloorPlanBitmap(region.getFloorPlan()); setupPoIs(mVenue.getPOIs(), region.getFloorPlan().getFloorLevel()); } else if (region.getType() == IARegion.TYPE_VENUE) { mVenue = region.getVenue(); } } @Override public void onExitRegion(IARegion region) { } }; private void setupPoIs(List<IAPOI> pois, int currentFloorLevel) { Log.d(TAG, pois.size() + " PoI(s)"); // remove any existing markers for (Marker m : mPoIMarkers) { m.remove(); } mPoIMarkers.clear(); for (IAPOI poi : pois) { if (poi.getFloor() == currentFloorLevel) { mPoIMarkers.add(mMap.addMarker(new MarkerOptions() .title(poi.getName()) .position(new LatLng( poi.getLocation().latitude, poi.getLocation().longitude)) .icon(BitmapDescriptorFactory.defaultMarker( BitmapDescriptorFactory.HUE_BLUE)))); } } }