Я хочу нарисовать путь на карте 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();
        }
    }
