Установить линию маршрута между двумя точками (начальной и конечной точкой) в Skobbler Map Android

У меня два AutoCompleteTextView для начальной и конечной точки. В onCreate() метод, для начальной точки, я использую:

currentText.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                currentText.setText(startingPointSearchAdapter.getPlaceList().get(i).getName());
                Place startPointPlace = startingPointSearchAdapter.getPlaceList().get(i);
                if (mapView != null) {
                    CustomSKAnnotation skAnnotation = new CustomSKAnnotation(new Random().nextInt(),startPointPlace.getName());
                    skAnnotation.setAnnotationType(SKAnnotation.SK_ANNOTATION_TYPE_BLUE);
                    skAnnotation.setLocation(new SKCoordinate(startPointPlace.getLongitude(), startPointPlace.getLatitude()));
                    mapView.addAnnotation(skAnnotation, SKAnimationSettings.ANIMATION_PIN_DROP);
                    mapView.deleteAllAnnotationsAndCustomPOIs();
                }
            }
        });

и для конечной точки я использую:

destinationText.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            destinationText.setText(destinationPointSearchAdapter.getPlaceList().get(i).getName());
            Place destinationPointPlace = destinationPointSearchAdapter.getPlaceList().get(i);
            if (mapView != null) {
                CustomSKAnnotation skAnnotation = new CustomSKAnnotation(new Random().nextInt(),destinationPointPlace.getName());
                skAnnotation.setAnnotationType(SKAnnotation.SK_ANNOTATION_TYPE_RED);
                skAnnotation.setLocation(new SKCoordinate(destinationPointPlace.getLongitude(), destinationPointPlace.getLatitude()));
                mapView.addAnnotation(skAnnotation, SKAnimationSettings.ANIMATION_PIN_DROP);
                mapView.deleteAllAnnotationsAndCustomPOIs();
            }
        }
    });

У меня есть метод для route между двумя точками:

private void showRoute() {
    SKRouteSettings route = new SKRouteSettings();
    route.setStartCoordinate(new SKCoordinate());
    route.setDestinationCoordinate(new SKCoordinate());
    route.setNoOfRoutes(1);
    route.setRouteMode(SKRouteSettings.SKRouteMode.CAR_FASTEST);
    route.setRouteExposed(true);
    SKRouteManager.getInstance().setRouteListener(this);
    SKRouteManager.getInstance().calculateRoute(route);
}

Вот, route.setStartCoordinate(new SKCoordinate()); route.setDestinationCoordinate(new SKCoordinate());

Как установить координату начальной точки и координаты точки назначения, чтобы я нарисовал маршрут?

1 ответ

Если я правильно понял вопрос, вам просто нужно сделать:

route.setStartCoordinate(new SKCoordinate(startPointPlace.getLongitude(), 
    startPointPlace.getLatitude()));

route.setDestinationCoordinate(new SKCoordinate(destinationPointPlace.getLongitude(),
    destinationPointPlace.getLatitude()));
Другие вопросы по тегам