12
私はGoogleマップ上のパスを描画したい。緯線に基づいてGoogleマップのパスを描画
基本的には、特定の時間間隔の後にユーザーの位置を追跡しています。ユーザーがある目的地に到達すると、私は彼がその目的地に到達するためにたどった道を描く必要があります。
問題なく動作していますが、ジグザグパスが表示されています。下の画像を参照してください。私が欲しいもの
:
は、私は私が追跡中に取得ポイントに続いて、適切なパスを描きたいです。私が検索し、我々は方向性を得るために8ポイントまで渡すことが可能なthisリンクを発見した
を試してみましたが、何
。 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();
}
}
感謝を描画するための
私はあなたが歩いたり、運転上のパスを描画する必要があると思いますか? –
を入力してください。 –
ポリラインを描きます。ポリラインにポイントのリスト(latlng)を渡して地図に追加することができますhttps://developers.google.com/android/reference/com/google/android/gms/maps/model/Polyline –