Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoClassDefFoundError:com.example.samplemap.CustomItemizedOverlay_Java_Android_Google Maps - Fatal编程技术网

java.lang.NoClassDefFoundError:com.example.samplemap.CustomItemizedOverlay

java.lang.NoClassDefFoundError:com.example.samplemap.CustomItemizedOverlay,java,android,google-maps,Java,Android,Google Maps,我正在我的Android谷歌地图项目中使用mapviewballons,但我似乎在上面遇到了问题 09-08 02:15:11.792: E/AndroidRuntime(484): FATAL EXCEPTION: main 09-08 02:15:11.792: E/AndroidRuntime(484): java.lang.NoClassDefFoundError: com.example.samplemap.CustomItemizedOverlay 我已经梳理了代码,还没有找到这个

我正在我的Android谷歌地图项目中使用mapviewballons,但我似乎在上面遇到了问题

09-08 02:15:11.792: E/AndroidRuntime(484): FATAL EXCEPTION: main
09-08 02:15:11.792: E/AndroidRuntime(484): java.lang.NoClassDefFoundError: com.example.samplemap.CustomItemizedOverlay
我已经梳理了代码,还没有找到这个问题的确切来源。如果你能帮我解决这个问题,我将不胜感激

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);

        final MapController mc = mapView.getController(); 
        mc.setZoom(16);

        List<Overlay> mapOverlays = mapView.getOverlays();
       // Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
        Drawable drawable = getResources().getDrawable(R.drawable.marker);
        CustomItemizedOverlay<CustomOverlayItem> itemizedoverlay = new CustomItemizedOverlay<CustomOverlayItem>(drawable, mapView);

        LocalGeoPoints loc = new LocalGeoPoints();
        for (CustomOverlayItem a : loc.overlayitems) {
            itemizedoverlay.addOverlay(a);
        } 
        mapOverlays.add(itemizedoverlay);


    }



public class CustomItemizedOverlay<Item extends OverlayItem> extends BalloonItemizedOverlay<CustomOverlayItem> {

    private ArrayList<CustomOverlayItem> m_overlays = new ArrayList<CustomOverlayItem>();
    private Context c = null;

    public CustomItemizedOverlay(Drawable defaultMarker, MapView mapView) {

        super(boundCenter(defaultMarker), mapView);
        c = mapView.getContext();
    }

    public void addOverlay(CustomOverlayItem overlay) {
        m_overlays.add(overlay);
        populate();
    }

    @Override
    protected CustomOverlayItem createItem(int i) {
        return m_overlays.get(i);
    }

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

    @Override
    protected boolean onBalloonTap(int index, CustomOverlayItem item) {
        Toast.makeText(c, "onBalloonTap for overlay index " + index,
                Toast.LENGTH_LONG).show();
        return true;
    }

    @Override
    protected BalloonOverlayView<CustomOverlayItem> createBalloonOverlayView() {
        // use our custom balloon view with our custom overlay item type:
        return new CustomBalloonOverlayView<CustomOverlayItem>(getMapView().getContext(), getBalloonBottomOffset());
    }

}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView MapView=(MapView)findViewById(R.id.MapView);
mapView.SetBuilTinZoomControl(真);
最终的MapController mc=mapView.getController();
mc.setZoom(16);
List mapOverlays=mapView.getOverlays();
//Drawable Drawable=this.getResources().getDrawable(R.Drawable.androidmarker);
Drawable Drawable=getResources().getDrawable(R.Drawable.marker);
CustomItemizedOverlay itemizedoverlay=新的CustomItemizedOverlay(可绘制,地图视图);
LocalGeoPoints loc=新的LocalGeoPoints();
对于(自定义覆盖项a:位置覆盖项){
项目化覆盖。添加覆盖(a);
} 
添加(itemizedoverlay);
}
公共类CustomItemizedOverlay扩展了BallookItemizedOverlay{
私有ArrayList m_overlays=新ArrayList();
私有上下文c=null;
public CustomItemizedOverlay(可绘制的默认标记,MapView MapView){
超级(边界中心(默认标记)、地图视图);
c=mapView.getContext();
}
公共void addOverlay(CustomOverlayItem覆盖){
m_叠加。添加(叠加);
填充();
}
@凌驾
受保护的CustomOverlayItem createItem(int i){
返回m_覆盖。获取(i);
}
@凌驾
公共整数大小(){
返回m_覆盖。大小();
}
@凌驾
受保护的布尔onballoottap(int索引,CustomOverlayItem项){
Toast.makeText(c,“覆盖索引的onballoottap”+索引,
Toast.LENGTH_LONG).show();
返回true;
}
@凌驾
受保护的BallooOverlayView CreateBallooOverlayView(){
//将自定义引出序号视图与自定义覆盖项目类型一起使用:
返回新的CustomBallookOverlayView(getMapView().getContext(),GetBallookBottomOffset());
}
}

请将公共类自定义项转换为私有类

如果您使用的是Eclipse,请检查您的.classpath文件。我按照此处的建议对classpath进行了更改。。。可能有两个或多个类具有相同的名称
CustomItemizedOverlay
,一个在您的包中,第二个可能在您正在使用的任何
jar
中..因此请检查..并删除多余的一个..如何检查?有什么简单的方法吗?