以下是我在GPSTracker.java中使用ItemizedOverlay的代码:
Drawable drawable = this.getResources().getDrawable(R.drawable.red);
OverlayItem overlayItem = new OverlayItem(point, "", "");
itemizedOverlay = new MyItemizedOverlay(drawable,this);
itemizedOverlay.addOverlay(overlayItem);
mapView.getOverlays().add(itemizedOverlay);
mapView.invalidate();
以下是MyItemizedOverlay.java的完整代码:
public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public MyItemizedOverlay(Drawable defaultMarker, Context ctx) {
super(boundCenterBottom(defaultMarker));
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
public void clear() {
mOverlays.clear();
populate();
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
@Override
protected boolean onTap(int index) {
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView){
return false;
}}
如何修复错误?
答案 0 :(得分:1)
如果尚未完成,则应导入该类。
您使用的是旧版Google地图,而不是v2。 v2没有ItemizedOverlay
。