Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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 覆盖在Google MapView教程Android中不起作用_Java_Android_Google Maps_Overlays - Fatal编程技术网

Java 覆盖在Google MapView教程Android中不起作用

Java 覆盖在Google MapView教程Android中不起作用,java,android,google-maps,overlays,Java,Android,Google Maps,Overlays,在我准备集成覆盖图时,在MapView教程之后出现了一些错误 TravelBuddy.java package com.jappapps.android.travelbuddy; import java.util.List; import android.graphics.drawable.Drawable; import android.os.Bundle; import com.google.android.maps.MapActivity; import com.google.andr

在我准备集成覆盖图时,在MapView教程之后出现了一些错误

TravelBuddy.java

package com.jappapps.android.travelbuddy;
import java.util.List;

import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;

public class TravelBuddy extends MapActivity {
List<Overlay> mapOverlays;
Drawable drawable;
Overlays itemizedOverlay;
/** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main); // changed to lowercase
       MapView mapView = (MapView) findViewById(R.id.mapview); // match id in main.xml
       mapView.setBuiltInZoomControls(true);
       mapOverlays = mapView.getOverlays();
       drawable = this.getResources().getDrawable(R.drawable.androidmarker);
       itemizedOverlay = new Overlays(drawable);
   }

    @Override
    protected boolean isRouteDisplayed() {
        return false;
     }
  }
package com.jappapps.android.travelbuddy;
导入java.util.List;
导入android.graphics.drawable.drawable;
导入android.os.Bundle;
导入com.google.android.maps.MapActivity;
导入com.google.android.maps.MapView;
导入com.google.android.maps.Overlay;
公共类TravelBuddy扩展MapActivity{
列出地图覆盖图;
可拉伸;
覆盖层项目化覆盖;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//更改为小写
MapView MapView=(MapView)findViewById(R.id.MapView);//匹配main.xml中的id
mapView.SetBuilTinZoomControl(真);
mapOverlays=mapView.getOverlays();
drawable=this.getResources().getDrawable(R.drawable.androidmarker);
itemizedOverlay=新覆盖层(可拉伸);
}
@凌驾
受保护的布尔值isRouteDisplayed(){
返回false;
}
}
Overlays.java

 package com.jappapps.android.travelbuddy;

 import java.util.ArrayList;

 import android.graphics.drawable.Drawable;

 import com.google.android.maps.ItemizedOverlay;
 import com.google.android.maps.OverlayItem;

 public class Overlays extends ItemizedOverlay {
public Overlays(Drawable arg0) {
    super(arg0);
    Object overlayitem;
    ItemizedOverlay.addOverlay(overlayitem);
    Object itemizedoverlay;
    ArrayList<OverlayItem> mapOverlays;
    mapoverlays.add(itemizedOverlay);
}
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
super(boundCenterBottom(defaultMarker));
public void addOverlay(OverlayItem overlay) {
    mOverlays.add(overlay);
    populate();}
    @Override
    protected OverlayItem createItem(int i) {
      return mOverlays.get(i);

    }
    @Override
    public int size() {
        return 0;
    }
  }
package com.jappapps.android.travelbuddy;
导入java.util.ArrayList;
导入android.graphics.drawable.drawable;
导入com.google.android.maps.ItemizedOverlay;
导入com.google.android.maps.OverlayItem;
公共类覆盖扩展了ItemizedOverlay{
公共覆盖层(可绘制arg0){
超级(arg0);
对象覆盖项;
ItemizedOverlay.addOverlay(overlayitem);
对象项化覆盖;
ArrayList地图覆盖;
添加(itemizedOverlay);
}
private ArrayList mOverlays=new ArrayList();
super(boundCenterBottom(defaultMarker));
公共void addOverlay(OverlayItem overlay){
添加(覆盖);
填充();}
@凌驾
受保护的OverlayItem createItem(int i){
返回mOverlays.get(i);
}
@凌驾
公共整数大小(){
返回0;
}
}
抱歉,如果我看起来像一个完全的新手,但我正在努力学习,我得到了一个很棒的应用程序想法,它需要mapview、webview、覆盖图和选项卡。

@Override 公共整数大小(){ 返回mOverlays.size();
}

我使用的是“官方”谷歌地图视图教程中的androidmarker.png,但覆盖图没有显示。我尝试了几个其他人的工作示例,但仍然遇到了相同的问题。我把androidmarker.png换成了一个更小的png,它成功了。所以代码很好,但与标记资产有关

也许这只是一个复制错误,但是super(boundCenterBottom(defaultMarker));在任何功能范围之外。它显然应该在构造函数中。