Как сбросить Map или удалить MapRoute из Here Map в Android Here API - PullRequest
0 голосов
/ 28 августа 2018

Я работаю над базовым позиционированием и навигацией. Я использовал нижние навигационные вкладки.

В MainActivity я добавил MapFragment в XML-файл. Этот MapFragment я вызываю из Click of Tabs.

Когда я нажимаю кнопку «Местоположение», текущее местоположение отображается правильно. после того, как я нажму на Поездку (навигация), Навигация отображается правильно, этот сценарий работает нормально.

Но когда я нажимаю на Местоположение, маршрут навигации не удаляется. как показано на рисунке.

Также я использовал статическую переменную MapRoute

private static MapRoute mapRoute;

Я удалил объект карты, как показано ниже.

 if (map != null && mapRoute != null) {
        map.removeMapObject(mapRoute1);
        mapRoute = null;
    }

Теперь мой вопрос, как можно удалить или перезапустить статический MapFragment .

Current Location

Для текущего местоположения я использовал класс 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.

Заранее спасибо!

...