Как я могу внедрить 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