目前,我的应用有一个mapview,可在new MyLocationOverlay
函数中创建onCreate
。
locationOverlay = new MyLocationOverlay(this, map);
locationOverlay.runOnFirstFix(centerAroundFix);
map.getOverlays().add(locationOverlay);
我正在尝试创建一个可选的按钮,就像谷歌地图一样。这是我到目前为止所做的。
ImageButton locButton = (ImageButton)findViewById(R.id.googlemaps_select_location);
locButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
locationOverlay = new MyLocationOverlay(ctx, map);
locationOverlay.runOnFirstFix(centerAroundFix);
map.getOverlays().add(locationOverlay);
}
});
我唯一需要改变的是'this'到'ctx'。我在ctx = this
函数中设置了onCreate()
。我也尝试使用getApplicationContext()
代替ctx
使用调试器,我打破了onClick()
功能,可以逐步完成。点击运行后,我telnet到模拟器并使用geo fix
命令向模拟器发出修复。不幸的是,永远不会调用centerAroundFix()
。不确定我做错了什么,这里......
答案 0 :(得分:0)
我通过移动来解决这个问题
locationOverlay = new MyLocationOverlay(ctx, map)
到onCreate()
函数。
如果locationOverlay
函数内有onClick()
,可能会收集垃圾?