Google hellomapview 자습서의 지침을 따랐습니다. 나는 작동하는 mapview 등을 얻는다. 그러나지도에 추가 된 두 항목은 보이지 않는다. 지정된 위치를 두드리는 것은 항목에 추가 된 메시지를 표시하기 때문에 어딘가에있는 것 같습니다.내지도 뷰의 오버레이가 표시되지 않는 이유는 무엇입니까?
편집
여기 내 소스 코드입니다. 구글 튜토리얼 소스 코드와 아주 가깝습니다.
public class MapOverlay extends ItemizedOverlay<OverlayItem> {
private List<OverlayItem> overlays = new ArrayList<OverlayItem>();
private Context context;
public MapOverlay(Drawable defaultMarker, Context context) {
super(defaultMarker);
overlays = new ArrayList<OverlayItem>();
this.context = context;
}
@Override
protected OverlayItem createItem(int i) {
return overlays.get(i);
}
@Override
public int size() {
return overlays.size();
}
public void addOverlay(OverlayItem overlay) {
overlays.add(overlay);
this.populate();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = overlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(this.context);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
}
public class MapsActivity extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
MapOverlay overlay = new MapOverlay(this.getResources().getDrawable(
R.drawable.androidmarker), this);
overlay.addOverlay(new OverlayItem(new GeoPoint(19240000,-99120000), "Blubb", "See?"));
mapView.getOverlays().add(overlay);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
Google 자습서의 소스 코드는 어딘가에서 사용할 수 있습니까?
+1 나는 그 어리석은 실수도했다. 나는 자신의 (기본값이 아닌) 마커를 사용하는 새로운 'OverlayItem'을 생성 할 때 액세스 할 수 있도록 두 개의 바운드 함수를 내보내는 작업을 마쳤습니다. –