2011-03-02 3 views
0


ItemizedOverlay<OverlayItem>을 확장하여 일부 선을 그리는 My SitesOverlay 클래스의 draw() 메서드를 사용했습니다. 이제는 여러 다른 지점에서 List<OverlayItem>에 하나의 이미지를 추가하여지도에 여러 이미지를 오버레이로 추가하고 있습니다.
이제는 (draw() 메서드를 사용하여 그려진) 선과 이미지 아이콘이 겹쳐지면 선이 겹쳐진 이미지 위에 그려집니다.
오버레이 이미지를 선의 맨 위에 올리려면 어떻게합니까?Android지도 API에서 위의 canvas.drawLine을 표시하도록 오버레이를 만드는 방법

편집 : populate()를 사용하여 모든 오버레이를지도에 추가합니다 (목록에 추가하는 즉시). 내가 draw() 메서드를 사용하여을 채운 후에 을 채울 수있는 방법이 있습니까? draw() 메서드에 채우기를 시도했지만 응용 프로그램이 작동을 멈췄습니다 ... 다른 방법은 없습니까?

답변

0

아니라 내 소스 공유하고, 당신이 그리는 방법을 사용하는 경우, 당신은 그것을 사용하는 그릴 무엇이든, 오버레이를 통해 렌더링되는 수치. 이는 draw()이지도를 드래그/줌하거나지도에서 작업 할 때마다 호출되고 오버레이는 처음에만 채워지기 때문입니다. 따라서 draw()을 사용하는 그려진 선은 항상 오버레이를 사용하게됩니다 ..

0

내가

public void draw(Canvas canvas, MapView mapView, boolean shadow) { 
     super.draw(canvas, mapView, shadow); 
     try { 

      for (int i = 0; i < size(); i++) { 

       OverlayItem item = getItem(i); 
       String driverName = item.getSnippet(); 

       Data.activlyShownDrivers.add(driverName); 

       Point screenPts = new Point(); 
       mapView.getProjection().toPixels(item.getPoint(), screenPts); 

       Bitmap bmp = null; 
       Context ctx = ShowAll.getContext(); 
       long angle = (long) Double.parseDouble(item.getTitle()); 

       // ---add the marker--- 

        bmp = BitmapFactory.decodeResource(ctx.getResources(), 
          R.drawable.img1); 


       Paint paint = new Paint(); 
       paint.setColor(Color.BLACK); 
       paint.setStyle(Style.FILL_AND_STROKE); 

       canvas.drawBitmap(bmp, screenPts.x, screenPts.y, null); 
       canvas.drawText(driverName, screenPts.x, screenPts.y, paint); 

      } 
      // } 
     } catch (Exception e) { 
      try { 
       Log.e(Data.LOG, e.getMessage()); 
      } catch (Exception e1) { 
       e1.printStackTrace(); 
      } 
     } 

    } 
+0

ok..in ur draw 메소드에서 이미지를 추가하는 코드입니다. 하지만 overlayItem 목록에 이미지를 추가하고 있습니다. 이리스트에 추가하는 것은 그 메소드 중 하나 인 draw() 메소드를 가지고있는 클래스의 생성자에서 발생합니다 ... 그와 관련된 솔루션을 제공 할 수 있습니까? 추가 할 오버레이 이미지가 많으므로 생성자 오버레이 항목 목록에 추가하는 것이 가장 좋습니다. 그것은 내 드로잉 메서드로 생성자에서 내 모든 이미지를 이동 wouldnt하는 것이 좋을 것 .. – Urban

+0

수 있습니다 대답 plz 답변을하고 ur 코드를 설명합니다. draw()를 사용하기 전에 U가 오버레이를 채 웁니까? u가 이미 UR 오버레이를 가지고 있다면 img1은 무엇입니까? plz 도움이 필요합니다. – Urban

관련 문제