2012-02-25 5 views
0

Android 애플리케이션의 Google지도에서 ItemizedOverlay를 사용하고 있습니다. ItemizedOverlay의 내 확장 기능은 아래와 같습니다.Google지도의 OverlayItem에 행이 표시됩니다.

오버레이가 발생할 때마다 8시 위치에서 2시 위치까지가는 작은 선이 보입니다. 오버레이는 내 응용 프로그램 리소스 (분명히 이상한 선이없는)에있는 PNG입니다. enter image description here

(당신은 가지에 밀접하게 볼 필요가 : png in my resource directory

그리고 여기에 내가 안드로이드 응용 프로그램에서 볼 것입니다 : 여기 원시 PNG 오버레이 (R.drawable.green)의 예를 첨부했습니다 제가 이야기 회색 라인을 볼 그것은 녹색 점에서 그리고 작은 비행기 아이콘 아래) 오버레이가 추가

을 다음과 같이 :..

ReportOverlay itemizedoverlay = new ReportOverlay(getResources().getDrawable(R.drawable.green),mContext); 
GeoPoint point = new GeoPoint(pr.getLat(),pr.getLng()); 
OverlayItem overlayitem = new OverlayItem(point, pr.getReport(),pr.getReport()); 
itemizedoverlay.addOverlay(overlayitem); 

어떤 생각을 어디에서이 신비 라인 오버레이가 오는 중입니다! MH가 제안한 것처럼

public class ReportOverlay extends ItemizedOverlay<OverlayItem> { 

protected ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); 
Context mContext; 

public ReportOverlay(Drawable defaultMarker) { 
    super(boundCenter(defaultMarker)); 
} 
public ReportOverlay(Drawable defaultMarker, Context context) { 
    super(boundCenter(defaultMarker)); 
    mContext = context; 
} 
public void addOverlay(OverlayItem overlay) { 
    mOverlays.add(overlay); 
    populate(); 
} 

@Override 
protected OverlayItem createItem(int i) { 
    return mOverlays.get(i); 
} 

@Override 
protected boolean onTap(int index) { 
    OverlayItem item = mOverlays.get(index); 
    AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.show(); 
    return true; 
} 

@Override 
public int size() { 
    return mOverlays.size(); 
} 

}

+0

나는 회색 선이 실제로는 보이지 않는다는 것을 인정해야하지만, 아마 당신이 말하는 마커의 그림자일까요? ItemizedOverlay의 ['draw (...)'] (http://code.google.com/intl/en-EN/android/add-ons/google-apis/reference/com/google)를 재정 의하여 비활성화 할 수 있습니다. /android/maps/ItemizedOverlay.html#draw%28android.graphics.Canvas,%20com.google.android.maps.MapView,%20boolean%29) 메소드를 호출하고'super.draw (canvas, mapView, false);를 호출하십시오. 그게 당신의 '문제'를 해결합니까? –

답변

0

, 그것은 참으로 내가보고 있었다 그림자였다. 이를 끄면 문제가 해결되었습니다.

관련 문제