我刚刚开始Android开发并开发了一个与google maps api相关的小应用程序。我正在使用谷歌地图视图并关注this tutorial ..
我已经创建了一个自定义的itemizedOverlay,它有一个像这样的构造函数(如教程中所述) -
public pujaItemizedOverlay(Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = context;
}
我在sprite.png
forder中有一个名为res/drawable/
的图像文件。这是我的onCreate()函数 -
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.sprite);
pujaItemizedOverlay itemizedoverlay = new pujaItemizedOverlay(drawable, this);
GeoPoint point = new GeoPoint(19240000,-99120000);
OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!", "I'm in Mexico City!");
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}
问题是,名为精灵的图像没有显示在地图上
我想提一下的是,根据教程,他们为Context类的自定义itemizedOverlay的构造函数添加了第二个参数。但在他们的例子中,当他们调用覆盖时,他们只提供了一个参数(查看教程页面),如 -
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);
Eclipse在此行中显示了明显的错误,因此我将第二个参数添加为this
以提供当前上下文。我在这做吗?
的 更新 :
相关图片为here。