Как я могу реализовать помощь линии в Here Sdk Premium в Android - PullRequest
0 голосов
/ 10 апреля 2020

Как я могу внедрить Lane Assist в Here Map Premium SDK Android

Я имею в виду, здесь есть меньше контента для реализации помощи полосы в android Для реализации Для этого требуется помощь MapDataPrefetcher или MapLoader. Я могу реализовать то же самое, но застрял в середине.

Вызов метода после создания маршрута
startListeners ();

    MapDataPrefetcher.Adapter prefetcherListener = new MapDataPrefetcher.Adapter() {
        @Override
        public void onStatus(int requestId, PrefetchStatus status) {
            if(status != PrefetchStatus.PREFETCH_IN_PROGRESS) {
                fetchingDataInProgress = false;
            }
        }
    };



    PositioningManager.OnPositionChangedListener positionLister = new PositioningManager.OnPositionChangedListener() {
        @Override
        public void onPositionUpdated(PositioningManager.LocationMethod locationMethod,GeoPosition geoPosition, boolean b) 
    {

            if (PositioningManager.getInstance().getRoadElement() == null && !fetchingDataInProgress)
           {
                GeoBoundingBox areaAround = new GeoBoundingBox(geoPosition.getCoordinate(), 500, 500);
                MapDataPrefetcher.getInstance().fetchMapData(areaAround);
                fetchingDataInProgress = true;
            }

            if (geoPosition.isValid() && geoPosition instanceof MatchedGeoPosition) 
            {

             m_navigationManager.addLaneInformationListener( new WeakReference<NavigationManager.LaneInformationListener>(laneInformationListener));

            } 
           else 
            {
                //handle error
              }
        }

        @Override
     public voidonPositionFixChanged(PositioningManager.LocationMethod locationMethod,
                                         PositioningManager.LocationStatus locationStatus) {

        }
    };

    NavigationManager.LaneInformationListener laneInformationListener = new NavigationManager.LaneInformationListener() {
        @Override
        public void onLaneInformation(List<LaneInformation> list, RoadElement roadElement) {
            super.onLaneInformation(list, roadElement);
        }
    };

    public void startListeners() {
        PositioningManager.getInstance().addListener(new WeakReference<>(positionLister));
        MapDataPrefetcher.getInstance().addListener(prefetcherListener);
    }

enter code here
...