我想在谷歌地圖上繪製路徑。根據經緯度在谷歌地圖上繪製路徑
基本上我在跟蹤特定時間間隔後的用戶位置。當用戶到達某個目的地時,我需要繪製他到達目的地的路徑。
它工作正常,但問題是它顯示曲折的路徑。看到下面的圖片。
我想要什麼:
我想畫一條合適的路徑,然後,我在跟蹤過程中獲得積分。
我曾嘗試
我搜查,發現this環節中,我們可以通過多達8個點得到的指示。這是允許Google Map的非商業用戶使用的最大限制。有沒有其他方法可以實現這一點。因爲我有很多要畫地圖的點。
繪製折線
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();
}
}
我認爲你必須借鑑行走或行駛路徑? –
併發布您的嘗試或代碼 –
繪製折線。您可以將點列表(latlng)傳遞到Polyline,然後將其添加到您的地圖https://developers.google.com/android/reference/com/google/android/gms/maps/model/Polyline –