1
나는 안드로이드 개발과 자바에 익숙하다. 그래서 나는 내 무지를 용서해 준다.ItemizedOverlay OSMDroid
ItemizedOverlay를 사용하여 Mapnik 맵에 정확한 점을 추가하는 데 문제가 있습니다. 나는 Google Maps 튜토리얼을 따르고 그것을 OSMDroid로 변환하려고 노력하고 있으며, 이것을 작동시킬 수 없다. 클래스 blow에서 오류가 빨간색으로 강조 표시됩니다. 더 많은 경험을 가진 사람이 내가 잘못 가고있는 곳을 지적 할 수 있다면 매우 감사 할 것입니다.
ItemizedOverlay 클래스 :
public class CustomPoint extends ItemizedOverlay<OverlayItem>{
private ArrayList<OverlayItem> mItemList = new ArrayList<OverlayItem>();
private Context c;
public CustomPoint(Drawable pDefaultMarker, ResourceProxy pResourceProxy) {
super(pDefaultMarker, pResourceProxy);
// TODO Auto-generated constructor stub
}
public CustomPoint(Drawable m, Context context){
this(m);
c = context;
}
public void addOverlay(OverlayItem aOverlayItem)
{
mItemList.add(aOverlayItem);
populate();
}
public void removeOverlay(OverlayItem aOverlayItem)
{
mItemList.remove(aOverlayItem);
populate();
}
@Override
protected OverlayItem createItem(int i)
{
return mItemList.get(i);
}
@Override
public int size()
{
if (mItemList != null)
return mItemList.size();
else
return 0;
}
public boolean onSnapToItem(int arg0, int arg1, Point arg2, IMapView arg3)
{
// TODO Auto-generated method stub
return false;
}
public void insertPinpoint(OverlayItem o) {
// TODO Auto-generated method stub
mItemList.add(o);
populate();
}
}
CustomPoint 클래스 호출
MainActivity 클래스 :
public void onClick(DialogInterface dialog, int which) {
OverlayItem overlayItem = new OverlayItem("Here I am", "2nd String",(GeoPoint)touchedPoint);
CustomPoint custom = new CustomPoint(d, MainActivity.this);
custom.insertPinpoint(overlayItem);
overlayList.add(custom);
}
은 MapView에 추가 된 오버레이 목록입니까? – Patrick
감사합니다 패트릭, 나는 꽤 여기에 붙어있다. 나는이 코드를 가지고있다 List overlayList = mapView.getOverlays(); \t overlayList.add (t); –
user1609817
감사합니다 패트릭, 나는 꽤 여기에 붙어있다. 그것은 overlayList.add (사용자 정의)에 의해 수행되지 않습니다; ? 내가 따르고있는 자습서의 차이점은 리소스 프록시가 추가 된 것입니다 ... 가능한 경우 여기에 몇 가지 지침을 제공해 주시면 감사하겠습니다. – user1609817