Search in sources :

Example 1 with Level

use of com.here.android.mpa.venues3d.Level in project here-android-sdk-examples by heremaps.

the class BasicVenueActivity method selectLevelByFloorId.

/**
 * Selecting venue level by given floorID
 * @param floorId current indoor position
 */
protected void selectLevelByFloorId(int floorId) {
    if (mVenueMapFragment != null) {
        Venue venue = mVenueMapFragment.getSelectedVenue();
        if (venue != null) {
            mVenueMapFragment.setFloorChangingAnimation(true);
            List<Level> levels = venue.getLevels();
            for (Level item : levels) {
                if (item != null) {
                    if (item.getFloorNumber() == floorId) {
                        mVenueMapFragment.getVenueController(venue).selectLevel(item);
                        break;
                    }
                }
            }
        }
    }
}
Also used : Venue(com.here.android.mpa.venues3d.Venue) Level(com.here.android.mpa.venues3d.Level)

Example 2 with Level

use of com.here.android.mpa.venues3d.Level in project here-android-sdk-examples by heremaps.

the class BasicVenueActivity method onCalculateRouteClick.

// Setup routing parameters and calculate route.
public void onCalculateRouteClick(View v) {
    if (mLastReceivedPosition != null && mSelectedVenue != null && mSelectedSpace != null) {
        VenueRouteOptions venueRouteOptions = new VenueRouteOptions();
        RouteOptions options = venueRouteOptions.getRouteOptions();
        // Set algorithm mode shortest and transport mode pedestrian in this case
        options.setRouteType(RouteOptions.Type.SHORTEST);
        options.setTransportMode(RouteOptions.TransportMode.PEDESTRIAN);
        options.setRouteCount(1);
        venueRouteOptions.setRouteOptions(options);
        VenueController selectedVenueController = mVenueMapFragment.getVenueController(mSelectedVenue);
        if (selectedVenueController != null && mRoutingController != null) {
            Toast.makeText(BasicVenueActivity.this, "Calculating route...", Toast.LENGTH_SHORT).show();
            // Determine start location either from the venue as
            // LevelLocation, or from outside as OutdoorLocation
            BaseLocation startLocation;
            if ((mLastReceivedPosition.getPositionSource() == GeoPosition.SOURCE_INDOOR)) {
                Level startLevel = selectedVenueController.getSelectedLevel();
                for (final Level level : selectedVenueController.getVenue().getLevels()) {
                    if (level.getFloorNumber() == mLastReceivedPosition.getFloorId()) {
                        startLevel = level;
                        break;
                    }
                }
                startLocation = new LevelLocation(startLevel, mLastReceivedPosition.getCoordinate(), selectedVenueController);
            } else {
                startLocation = new OutdoorLocation(mLastReceivedPosition.getCoordinate());
            }
            // End location is in this case always the selected space
            BaseLocation endLocation = new SpaceLocation(mSelectedSpace, selectedVenueController);
            // This is an async function, the logic to display route is in callback
            // onCombinedRouteCompleted(CombinedRoute route)
            mRoutingController.calculateCombinedRoute(startLocation, endLocation, venueRouteOptions);
        }
    } else {
        Toast.makeText(BasicVenueActivity.this, "Unable to calculate route", Toast.LENGTH_SHORT).show();
    }
}
Also used : LevelLocation(com.here.android.mpa.venues3d.LevelLocation) SpaceLocation(com.here.android.mpa.venues3d.SpaceLocation) VenueController(com.here.android.mpa.venues3d.VenueController) VenueRouteOptions(com.here.android.mpa.venues3d.VenueRouteOptions) Level(com.here.android.mpa.venues3d.Level) OutdoorLocation(com.here.android.mpa.venues3d.OutdoorLocation) VenueRouteOptions(com.here.android.mpa.venues3d.VenueRouteOptions) RouteOptions(com.here.android.mpa.routing.RouteOptions) BaseLocation(com.here.android.mpa.venues3d.BaseLocation)

Aggregations

Level (com.here.android.mpa.venues3d.Level)2 RouteOptions (com.here.android.mpa.routing.RouteOptions)1 BaseLocation (com.here.android.mpa.venues3d.BaseLocation)1 LevelLocation (com.here.android.mpa.venues3d.LevelLocation)1 OutdoorLocation (com.here.android.mpa.venues3d.OutdoorLocation)1 SpaceLocation (com.here.android.mpa.venues3d.SpaceLocation)1 Venue (com.here.android.mpa.venues3d.Venue)1 VenueController (com.here.android.mpa.venues3d.VenueController)1 VenueRouteOptions (com.here.android.mpa.venues3d.VenueRouteOptions)1