2012-04-26 94 views
0

我一直在努力,包括以顯示Android應用路線的能力,並正在該解決方案爲我的應用程序:Android的谷歌地圖drawPath toPixels錯誤

J2ME/Android/BlackBerry - driving directions, route between two locations

我已經得到了基本所有代碼到位,但在drawPath方法,我得到錯誤「的方法toPixels(GeoPoint對象,點)在型投影不適用於參數(GeoPoint的,點)」下面標有星號的代碼。下面的代碼:

public void drawPath(MapView mMapView, Canvas canvas) 
    { 
     int x1 = -1, y1 = -1, x2 = -1, y2 = -1; 
     Paint paint = new Paint(); 
     paint.setColor(Color.GREEN); 
     paint.setStyle(Paint.Style.STROKE); 
     paint.setStrokeWidth(3); 
     for (int i = 0; i < mPoints.size(); i++) 
     { 
      Point point = new Point(); 
      mMapView.getProjection().*****toPixels*****(mPoints.get(i), point); 
      x2 = point.*****x*****; 
      y2 = point.*****y*****; 
      if (i > 0) 
      { 
       canvas.drawLine(x1, y1, x2, y2, paint); 
      } 
      x1 = x2; 
      y1 = y2; 
     } 
    } 

我已經無法在所有尚未測試它,因爲我一直無法理清這個錯誤,所以我不知道是否有其他地方的問題。然而,在此期間,如果有人知道爲什麼會彈出這個錯誤,那麼會非常感激。提前致謝!哦,如果有人需要看我的其他代碼或類,請讓我知道。

+0

如果它有助於在所有我剪了絕大多數的代碼都在這裏 - 如果有什麼需要放回來,請讓我知道! – 2012-04-27 15:53:18

+0

已解決您的問題 – 2012-04-29 03:23:08

+0

我無法解決問題並以不同的方式解決問題。無論如何,該應用程序工作正常。謝謝Agarwal – 2012-05-01 11:37:52

回答

0

here就是一個很好的例子我已經發布,你可以嘗試一下這個

+0

感謝gtumca-MAC。不幸的是,我仍然對Java和Android有所瞭解,並且仍然無法看到自己的例子中出現了哪些問題。我所設法解決的一件事是通過以下方式擺脫'x'和'y'錯誤將它們改爲mLonitude和mLatitude,這些都是我的Point類中的整數。不過,我仍然不能看到我的生活爲什麼它給我上「toPixels」爲GeoPoint對象和點的錯誤似乎是正確的論點,我應該使用... – 2012-04-26 16:03:57

+0

作爲一個方面說明,我試圖註釋掉與錯誤一致,看看應用程序是否運行正常,當它到達for循環時,它實際上會拋出一個空指針異常,因此調試器甚至不會到達toPixels行。與此同時,我將玩弄x和y int值,以防它們產生效果 – 2012-04-26 19:31:44

0

我試過這個源代碼。

從源代碼複製文件,在此之前不要更改任何內容。 DO NOTCtrl鍵 + + Ò自動加載庫類。 有時候,eclipse會導入一個錯誤的庫。爲什麼?這是日食上的另一個話題。

編輯這些行手動

import org.ci.geo.route.Road; 
import org.ci.geo.route.RoadProvider; 

更改導入到你的包庫名。
然後編輯該行適合於您的佈局:

setContentView(R.layout.main); 
mapView = (MapView) findViewById(R.id.mapview); 

這對於甜味

TextView textView = (TextView) findViewById(R.id.description); 

希望這將幫助你