Я обнаружил, что карта Google предоставляет PolylineOptions, но мне не удалось ничего найти для Osmdroid.
Если кто-нибудь может предложить решение с примером, это было бы очень полезно.
Спасибо за ваш ответ, я использую библиотеку «com.github.MKergall:osmbonuspack:6.5.3».
Возможно, вы не сможете нарисовать настоящую изогнутую линию, но вы сможете создать полилинию, которая будет казаться изогнутой. Полилиния состоит из сегментов прямых линий, которые не изогнуты.
Похоже, что 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);
Сложная часть будет состоять в том, чтобы вычислить точки между двумя вашими известными координатами.
спасибо за ваш ответ, но как рассчитать другие точки, которые должны образовывать кривую между двумя координатами (источник и пункт назначения).
@DheerajKumarSingh Я думаю, это будет зависеть от того, что должна представлять кривая. Вы не указали это в своем вопросе.
какой алгоритм мы используем для этого. подскажите любую ссылку.
@DheerajKumarSingh Вы сможете добиться аналогичного результата с библиотекой osmdroid. Первый результат из этого SO-вопроса stackoverflow.com/questions/47950659/…, и вы можете видеть, что они также используют только полилинию и в основном добавляют много точек, так что это выглядит как хорошая кривая. Вы также можете увидеть алгоритм на кривой Базье.
Укажите, какую работу/библиотеку вы используете. Это осмдроид?