private String buildId = "01AR03";
private Palmap mPalmap;
private MapView mMapView;
private void initMap(View view) {
mPalmap = view.findViewById(R.id.palmap);
mPalmap.setOnMapReadyListener(onMapReadyListener);
mPalmap.setOnPalmapErrorListener(onPalmapErrorListener);
mPalmap.getMapUIController().enableZoomView(false);
mPalmap.getMapUIController().enableFloorView(false);
mPalmap.getMapUIController().enableScaleView(false);
mMapView = mPalmap.getMapView();
}
private void initNavigation() {
mPalmap.getNavigateManager().setNavigateRequestListener(navigateRequestListener);
mPalmap.getNavigateManager().addNavigateUpdateListener(navigateUpdateListener);
}
private OnMapReadyListener onMapReadyListener = new OnMapReadyListener() {
@Override
public void onMapReady(MapView mapView) {
mPalmap.loadMap(buildId);
}
};
private OnNavigateRequestListener navigateRequestListener = new OnNavigateRequestListener() {
@Override
public void onRequestSucceed() {
showNavigationRoute();
}
@Override
public void onRequestFailed(NavigateException exception) {
}
};
private void startMockNavi() {
mPalmap.getNavigateManager().start(true,
10, 1000);
}
private OnNavigateUpdateListener navigateUpdateListener = new OnNavigateUpdateListener() {
@Override
public void onNavigateUpdate(NaviInfo naviInfo) {
}
@Override
public void onMockPosition(NodeInfo nodeInfo) {
}
@Override
public void onPauseNavi() {
}
@Override
public void onResumeNavi() {
}
};
private void showNavigationRoute() {
FeatureCollection featureCollection = mPalmap.getNavigateManager().getRouteByFloorId(mMapView.getCurrentFloorId());
if (featureCollection != null) {
mMapView.addNavigationLineFeature(featureCollection);
startMockNavi();
}
}
private void startNavigation() {
mPalmap.clearNavigateRoute();
mPalmap.requestRoute(mStartCoordinate.x, mStartCoordinate.y, mStartFloorId,
mEndCoordinate.x, mEndCoordinate.y, mEndFloorId);
}
private void stopNavigation() {
mMapView.clearAllNavigationLineFeature();
mPalmap.setmLocation(null);
mPalmap.getNavigateManager().stop();
mPalmap.getNavigateManager().clear();
mPalmap.removeLocationMarker();
}