В настоящее время я использую полилинию для рисования дорожки gpx на карте OSM.
Мне интересно, есть ли способ рисовать пунктирные линии вместо сплошных с помощью osmdroid?
Вот мой код:
Double firstLat, lastLat, firstLong, lastLong;
firstLat = lastLat = firstLong = lastLong = -100.0;
for (Track track : gpx.getTracks()) {
for (TrackSegment trackSegment : track.getTrackSegments()) {
Polyline line = new Polyline(mMap);
ArrayList<GeoPoint> trajet = new ArrayList<>();
for (TrackPoint trackPoint : trackSegment.getTrackPoints()) {
GeoPoint geoPoint = new GeoPoint(trackPoint.getLatitude(), trackPoint.getLongitude());
trajet.add(geoPoint);
if (firstLat == -100.0) { firstLat = trackPoint.getLatitude(); }
if (lastLat == -100.0) { lastLat = trackPoint.getLatitude(); }
if (firstLong == -100.0) { firstLong = trackPoint.getLongitude(); }
if (lastLong == -100.0) { lastLong = trackPoint.getLongitude(); }
if (trackPoint.getLatitude() < firstLat) { firstLat = trackPoint.getLatitude(); }
if (trackPoint.getLatitude() > lastLat) { lastLat = trackPoint.getLatitude(); }
if (trackPoint.getLongitude() < firstLong) { firstLong = trackPoint.getLongitude(); }
if (trackPoint.getLongitude() > lastLong) { lastLong = trackPoint.getLongitude(); }
}
line.setPoints(trajet);
line.setInfoWindow(null);
line.setColor(Color.rgb(0,191,255));
mMap.getOverlays().add(0, line);
mMap.invalidate();
}
Спасибо!
РЕДАКТИРОВАТЬ: Использование line.getPaint().setPathEffect(new DashPathEffect(new float[]{10, 20}, 0));
работает для этой проблемы.