use of com.here.android.mpa.venues3d.BaseLocation 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();
}
}
Aggregations