Как нарисовать изогнутую линию между двумя координатами с помощью библиотеки Osmdroid

Я обнаружил, что карта Google предоставляет PolylineOptions, но мне не удалось ничего найти для Osmdroid.

Если кто-нибудь может предложить решение с примером, это было бы очень полезно.

Укажите, какую работу/библиотеку вы используете. Это осмдроид?

scai 04.02.2019 11:45

Спасибо за ваш ответ, я использую библиотеку «com.github.MKergall:osmbonuspack:6.5.3».

Dheeraj Kumar Singh 05.02.2019 10:17
2
2
866
1

Ответы 1

Возможно, вы не сможете нарисовать настоящую изогнутую линию, но вы сможете создать полилинию, которая будет казаться изогнутой. Полилиния состоит из сегментов прямых линий, которые не изогнуты.

Похоже, что API Google Map, на который вы ссылаетесь, поддерживает только полилинии без кривых. См. Документация по картам Google

A Polyline is a series of connected line segments that can form any shape you want and can be used to mark paths and routes on the map.

Полилинии и полигоны поддерживаются библиотекой Osmdroid. Подробности можно найти в документация Osmdroid.

Вы можете легко создать Полилиния:

List<GeoPoint> geoPoints = new ArrayList<>();
geoPoints.add(start);
//... add other points that should form the curve
geoPoints.add(end);

//add your points here
Polyline line = new Polyline();   //see note below!
line.setPoints(geoPoints);
map.getOverlayManager().add(line);

Сложная часть будет состоять в том, чтобы вычислить точки между двумя вашими известными координатами.

спасибо за ваш ответ, но как рассчитать другие точки, которые должны образовывать кривую между двумя координатами (источник и пункт назначения).

Dheeraj Kumar Singh 06.02.2019 09:34

@DheerajKumarSingh Я думаю, это будет зависеть от того, что должна представлять кривая. Вы не указали это в своем вопросе.

Josef Adamcik 06.02.2019 17:34

какой алгоритм мы используем для этого. подскажите любую ссылку.

Dheeraj Kumar Singh 07.02.2019 11:47

@DheerajKumarSingh Вы сможете добиться аналогичного результата с библиотекой osmdroid. Первый результат из этого SO-вопроса stackoverflow.com/questions/47950659/…, и вы можете видеть, что они также используют только полилинию и в основном добавляют много точек, так что это выглядит как хорошая кривая. Вы также можете увидеть алгоритм на кривой Базье.

Josef Adamcik 07.02.2019 11:49

Другие вопросы по теме