2016-05-10 13 views
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(); 
     } 
    } 

感謝を描画するための

コード。 image

+0

私はあなたが歩いたり、運転上のパスを描画する必要があると思いますか? –

+0

を入力してください。 –

+0

ポリラインを描きます。ポリラインにポイントのリスト(latlng)を渡して地図に追加することができますhttps://developers.google.com/android/reference/com/google/android/gms/maps/model/Polyline –

答えて

関連する問題