2011-08-19 4 views
0

here으로 설명되어 있으므로 오버레이를지도보기에 추가하려고합니다. 마커가 보이지 않는 것을 제외하고 모든 것이 예상대로 작동합니다 (onTap 이벤트가 실행 된 경우조차도). 내가오버레이 항목의 마커가 MapView에 표시되지 않습니다.

dialog.setIcon(item.getMarker(0)); 

지금 마커 항목을 녹화 한 후 가시가 라인을 추가하는 onTap 방법을 수정 한 (내가 오버레이에 두 개의 항목이와 나는 모두 마커와 같은 그릴 수 사용). 지도를 다시 그리게하여 기기를 켜면 마커가 다시 보이지 않게됩니다.

Android 2.2에서 Samsung Galaxy p1000을 사용하고 있습니다. 아이디어가 있으십니까?

답변

1

이 튜토리얼에서는 몇 가지 오류가 있음을 기억합니다.

첫째 문맥을 취하는 HelloItemizedOverlay 생성자는

public HelloItemizedOverlay(Drawable defaultMarker, Context context) { 
    // super(defaultMarker); - REPLACE THIS WITH LINE BELOW 
    super(boundCenterBottom(defaultMarker)); 
    mContext = context; 
} 

로 변경해야하고 상황은

HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable, this); 

당신은을 사용할 필요가 없습니다 다른 클래스에서 전달 될 필요가 당신이 설명한 'getMarker'변경.

+0

효과가있었습니다. 감사. 하지만 모든 항목에 맞춤 표식을 사용해야하므로 'createItem (int)'메소드를 'protected OverlayItem createItem (final int i)'으로 변경했습니다. { \t \t OverlayItem item = items.get (i); \t \t 드로어 블 drawable = item.getMarker (0); \t \t \t \t 경우 \t INT drawable.getIntrinsicWidth = w (그리기 = NULL!) {(); \t \t \t int h = drawable.getIntrinsicHeight(); \t \t \t drawable.setBounds (0, 0, w, h); \t \t \t item.setMarker (drawable); \t \t} \t \t 반환 항목; \t}' – alekz

관련 문제