我正在关注this tutorial以创建一些有点不同的东西,本教程展示了叠加层如何与插入到其中的预定义项目一起工作,但是如果我想动态地向其添加项目呢?谷歌地图中的错误?
相反的:那时我必须用一个空覆盖启动
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
ItemOverlay itemizedoverlay = new ItemOverlay(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);
其作品就像预期在本教程中,我需要把这个:
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
ItemOverlay itemizedoverlay = new ItemOverlay(drawable, this);
mapOverlays.add(itemizedoverlay);
这ommits的initializition与项目叠加。
这种方法导致地图卡住,并且在点击几次后,我的应用因为空例外而被踢出。
1.is this expected behavior?这似乎是对我的错误...
2.什么做我为了acheive预期的行为?(我在其中可以用空的覆盖启动和动态添加项目)
,做至于我想达到什么目的,这是不启动覆盖和项目,但动态使用addOverlay,这样我可以
你其实是对的! setlastfocus是不需要的,我添加了populate()OverlayItem的构造函数,它解决了我的问题!伟大的人感谢! – 2012-08-16 21:36:55