2012-04-26 2 views
0
나는 안드로이드 응용 프로그램의 경로를 표시 할 수있는 기능을 포함하도록 노력하고 있었고, 내 응용 프로그램에이 솔루션을 일하고 있었다

: 나는 기본적으로 모든있어안드로이드 Google지도 drawPath toPixels 오류

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

을 그러나 drawPath 메소드에서 아래의 별표 코드에서 "Projection 유형의 toPixels (GeoPoint, Point) 메소드는 인수 (GeoPoint, Point)에 적용 할 수 없습니다"라는 오류가 발생합니다. 여기에 코드입니다 :

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

도움이 될 것입니다 달콤한 맛

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

희망에 대한

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

이 :
다음이 레이아웃에 맞게 줄을 편집 대다수의 코드는 여기에 있습니다. 다시 넣을 필요가있는 것이 있으면 알려주세요! –

+0

이 문제가 해결되었습니다 –

+0

저는이 문제를 해결할 수 없었고 다른 방식으로 시도했습니다. 어쨌든 앱이 정상적으로 작동합니다. 감사합니다 Agarwal –

답변

0

here 내가 내가이 소스 코드를 시도했다이

+0

감사 gtumca - 맥. 불행히도 저는 여전히 Java와 Android에 익숙하지 않습니다. 그리고 당신의 예제에서 내가 잘못한 부분을 볼 수 없습니다. 제가 관리해온 한 가지는 'x'와 'y'의 오류를 없애는 것입니다. 그들을 mLong 및 mLatitude로 변경합니다. 이는 Point 클래스의 정수입니다. 그러나 나는 아직도 나에게 왜 GeoPoint와 Point가 내가 사용해야하는 올바른 주장 인 것처럼 보이는지에 대한 'toPixels'에 오류를주는 이유를 나에게 알리지는 못한다 ... –

+0

참고로, 나는 주석을 달기를 시도했다. 오류가있는 줄을 실행하여 해당 지점까지 앱이 정상적으로 실행되는지 확인하고 for 루프에 도달하면 실제로 null 포인터 예외가 발생하므로 디버거가 toPixels 행에 도달하지 않습니다. 그 동안 효과가있는 경우를 대비하여 x 및 y int 값으로 놀아 보겠습니다. –

0

을 시도 할 수 있습니다 게시 한 좋은 예이다.

소스 코드에서 파일을 복사하십시오. 그 전에는 아무 것도 변경하지 마십시오. 눌러 Ctrl 키 + 이동하지 마십시오 + O 자동으로 라이브러리 클래스를로드합니다. 때때로 eclipse에서 잘못된 라이브러리를 가져옵니다. 왜? 그것은 일식에 대한 또 다른 주제입니다.

편집이 모든 라인을 수동으로

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

변경 가져 오기 패키지 라이브러리 이름. 그것은 내가 잘라 적이 전혀 도움이 경우 당신에게