Я работаю над базовым позиционированием и навигацией. Я использовал нижние навигационные вкладки.
В MainActivity я добавил MapFragment в XML-файл. Этот MapFragment я вызываю из Click of Tabs.
Когда я нажимаю кнопку «Местоположение», текущее местоположение отображается правильно. после того, как я нажму на Поездку (навигация),
Навигация отображается правильно, этот сценарий работает нормально.
Но когда я нажимаю на Местоположение, маршрут навигации не удаляется. как показано на рисунке.
Также я использовал статическую переменную MapRoute
private static MapRoute mapRoute;
Я удалил объект карты, как показано ниже.
if (map != null && mapRoute != null) {
map.removeMapObject(mapRoute1);
mapRoute = null;
}
Теперь мой вопрос, как можно удалить или перезапустить статический MapFragment .
Для текущего местоположения я использовал класс CurrentLocationFragmentView как следующий фрагмент кода.
public class CurrentLocationFragmentView {
private MapFragment m_mapFragment=null;
private Activity m_activity;
private Map map=null;
private double langitude, latitude;
private static MapRoute mapRoute;
public CurrentLocationFragmentView(Activity activity,Double Lat, Double lang) {
m_activity = activity;
latitude=Lat;
langitude=lang;
initialize();
}
private void initialize() {
// Search for the map fragment to finish setup by calling init().
m_mapFragment = (MapFragment) m_activity.getFragmentManager().findFragmentById(R.id.mapfragment);
m_mapFragment.init(new OnEngineInitListener() {
@Override
public void onEngineInitializationCompleted(OnEngineInitListener.Error error) {
if (error == OnEngineInitListener.Error.NONE) {
map=null;
map = m_mapFragment.getMap();
if (map != null && mapRoute != null) {
map.removeMapObject(mapRoute1);
mapRoute= null;
}
map.setCenter(new GeoCoordinate(latitude, langitude, 0.0),
Map.Animation.NONE);
map.setZoomLevel((map.getMaxZoomLevel() + map.getMinZoomLevel()) / 2);
map.getPositionIndicator().setVisible(true);
}
}
});
}
Как убрать этот маршрут на карту в Here Maps.
Заранее спасибо!