Я хочу нарисовать путь на карте google.
В основном, я отслеживаю локализацию пользователя после определенного интервала времени. когда пользователь достигает какого-то адресата, мне нужно нарисовать путь, который он следил, чтобы добраться до этого пункта назначения.
Он работает нормально, но проблема в том, что он показывает путь зигзага. См. Изображение ниже.
Что я хочу:
Я хочу нарисовать правильный путь, за которым следуют точки, которые я получаю во время отслеживания.
Что я пробовал
я искал и нашел эту ссылку, в которой мы можем передать до 8 баллов, чтобы получить указания. Какой максимальный лимит разрешен для нерабочих пользователей Карты Google. Есть ли другой способ достичь этого. потому что у меня так много точек для рисования на карте.
код для рисования полилиний
private void drawPath() {
if (mMap != null)
mMap.clear();
int count = 0;
LatLng prev = null;
String[] mProjection = {LocTable.COLUMN_ID, LocTable.COLUMN_LONGITUDE, LocTable.COLUMN_LATITUDE};
String mSelectionClause = LocTable.COLUMN_ID + "> ?";
String[] mSelectionArgs = {"0"};
String mSortOrder = LocTable.COLUMN_ID;
Cursor mCursor = getContentResolver().query(
LocContentProvider.CONTENT_URI, // The content URI of the words table
mProjection, // The columns to return for each row
mSelectionClause, // Selection criteria
mSelectionArgs, // Selection criteria
mSortOrder);
if(mCursor != null && mCursor.getCount()!=0) {
Log.i("cursor", "Count: " + mCursor.getCount() + "|Column count: " + mCursor.getColumnCount());
if (mCursor.moveToFirst()) {
do {
if (mMap != null) {
float lon = mCursor.getFloat(1);
float lat = mCursor.getFloat(2);
LatLng current = new LatLng(lat, lon);
markerPoints.add(current);
if (count == 0){
prev = current;
}
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(current, 19);
mMap.animateCamera(cameraUpdate);
mMap.addPolyline((new PolylineOptions())
.add(prev, current).width(6).color(Color.BLUE)
.visible(true));
prev=current;
count++;
}
} while (mCursor.moveToNext());
}
mCursor.close();
}
}