Установить линию маршрута между двумя точками (начальной и конечной точкой) в 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()));